假設一個class Member
其中成員有Id
類型String
。我想知道在另一個實現中使用String equals()
實現是否會有任何問題。如果field Id
是Long
類型,會更好嗎?在另一個equals()實現中使用String的equals()實現?
@Override public boolean equals(Object object){
if(object == null) return false;
if(! (object instanceof Member)) return false;
Member member= (Member) object;
if(this.Id.equals(member.Id)) //<==My concern is here
return true;
else
return false;
}
你爲什麼認爲這會有什麼問題?運行它時你遇到過嗎? –
只要this.Id永遠不會爲null,你應該沒問題。按照慣例,它應該是「id」,而不是「Id」。 –
你應該使用'Objects.equals(Id,member.Id)'。除此之外,沒關係。 – nosid