2014-10-04 1 views
0

우리는 가입에 관한 문제가 있었지만 이미 그것을 실행할 수 있었지만 내 유일한 문제는 나는 방법을 알지 못하기 때문에 나의 평등 한 방법을 부를 수 없었다. 문제는 사용자가 주소를 입력하면 다른 사용자는 동일한 주소를 입력하면 안되며 동등한 방법은 해당 주소가 이미 존재하는지 확인합니다. 여기 클래스에서 동등한 메소드를 만드는 방법과 그 클래스가 추상 클래스 인 경우 그 메소드를 메인으로 호출하는 방법

내 동일한 방법입니다 ..

public boolean equals(NewsPaperSubscriber address){ 
    return getStreetAdd() == address.streetAdd; 
} 

코드의 좀 더}

+0

사용'equals' 또는'equalsIgnoreCase' 방법 :이 일을 모두 결합 코드는 지금과 같이한다 – Tirath

답변

0

도움이 될 (? 올바른 내 동일한 방법),하지만에서 내가 무엇을보고 :

게시 한 코드에는 몇 가지 유의해야 할 사항이 있습니다.

먼저 getter가 getStreetAdd()String 변수 streetAdd을 반환한다고 가정합니다. 그렇다면 객체에 getter를 사용하지 않는 이유는 무엇입니까? address? 게터를 사용하지 않는 것은 당신의 address 필드가 public 의미, 그것은 private 대신 다음 사용합니다

address.getStreetAdd()

둘째, ==는 객체 참조 자체 객체에 포함 된 어떤 아닌 값을 비교합니다. 예 :

String string1 = "abc" 
String string2 = "abc" 
return (string1 == string2) // will return FALSE, because string1 and string2 
          // point to different locations in memory 

따라서 String 클래스가 제공하는 .equals() 방법을 사용할 수 있습니다. Java``에서`String`의를 비교

public boolean equals(NewsPaperSubscriber address){ 
    return getStreetAdd().equals(address.getStreetAdd); 

}