2017-03-11 2 views
0

SetOfBooks 클래스에서 Book을 제거하는 데 사용하는이 메서드가 있습니다. 내가 루핑을 시도하고 너무 삭제, 그리고 너무 봤 거든. 이 함수는 전달중인 Book 객체를 삭제하지 않고 false를 반환합니다. 어디서 잘못되었는지 알 수 없습니다. 주어진 객체를리스트에서 제거하는 메소드가 필요했다. 도와주세요. ThankyouarrayList 객체 제거 Java

다음은 removebook() 메소드를 호출하는 코드입니다.

+1

실제 문제는 무엇입니까? –

+0

내가 매개 변수로 전달하는 객체를 삭제할 수 없습니다. – niki123

+4

public class SetOfBooks extends Vector {public class SetOfBooks extends Vector {'이 아니라는 것을 의미하는 것으로 의심됩니다. 후자의 경우,'Book'은 타입 변수이고'Book' 클래스는 아닙니다. –

답변

3

Book 클래스에서 equals (및 hashcode) 메서드를 재정의하지 않았을 가능성이 큽니다.

equals을 덮어 쓰지 않고 정확히 동일한 개체 만 remove을 사용하여 컬렉션에서 제거됩니다.

+0

그들의 계약에 따라'equals'와'hashCode'를 오버라이드 할 때 잠재적으로'borrower'와 같은 변경 가능한 필드를주의하십시오. IDE에서 자동 생성 된 이러한 메소드 구현을 통해 해당 필드가 모두 포함됩니다. 예 : 실제로 차용자가있는 "진짜"책을 찾거나 제거하기 위해 차용자를 모르고 책 객체를 구성하는 코드 한 곳. –