假设一个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