我发现这段代码将ArrayList.contains与java对象一起使用:
@Override
public boolean equals(Object object)
{
boolean equals = false;
if (object != null && object instanceof User)
{
equals= this.getId() == ((User) object).getId();
}
return equals;
}
在id为99的对象之前,这个方法工作得很好,但超过99就会返回false,有人能帮我吗?
if(users.contains(user)){return true;}
Java使用非基元类型的数字缓存。所以,直到某个值(127表示Integer(,你们将拥有相同的数字对象。
将"=="更改为equals((以使其工作。