如何确定2个成员相等?我猜它们是否具有相同的ID,您认为它们相等,但是Java希望它们成为内存中的完全相同的引用,而事实并非如此。要更正此问题,您可以重写
equals函数以使它们在ID相等时返回:
public class Member { //.. @Override public boolean equals(Object anObject) { if (!(anObject instanceof Member)) { return false; } Member otherMember = (Member)anObject; return otherMember.getUserUID().equals(getUserUID()); }}另外,当您覆盖时
.equals,建议也覆盖
hashCode,以使对象在诸如
Set或的哈希函数中也能正常工作
Map。



