Java 在arraylist中标识自定义定义的对象
我想检查对象球是否包含在ArrayList中。但每次我通过循环,结果都会给出错误的答案。但是我已经在ArrayList中放置了对象球。它不能像:-someList.containsnew Pointx,y那样完成吗Java 在arraylist中标识自定义定义的对象,java,arraylist,Java,Arraylist,我想检查对象球是否包含在ArrayList中。但每次我通过循环,结果都会给出错误的答案。但是我已经在ArrayList中放置了对象球。它不能像:-someList.containsnew Pointx,y那样完成吗 你们应该在球上实现平等。Collection.contains使用等于。测试这个 boolean equals = new Ball(1,1,1).equals(new Ball(1,1,1)) 它将返回false您应该在Ball中实现equals。Collection.conta
你们应该在球上实现平等。Collection.contains使用等于。测试这个
boolean equals = new Ball(1,1,1).equals(new Ball(1,1,1))
它将返回false您应该在Ball中实现equals。Collection.contains使用等于。测试这个
boolean equals = new Ball(1,1,1).equals(new Ball(1,1,1))
它将返回false您需要实现equalsObject方法,以便Java知道如何匹配两个Ball实例
e、 g
编辑:
另外,不要忘记,如果实现EqualObject,还应该实现hashCode:
您需要实现equalsObject方法,以便Java知道如何匹配两个Ball实例
e、 g
编辑:
另外,不要忘记,如果实现EqualObject,还应该实现hashCode:
没有帮助mch我用另一种方式得到它,对于Ball-Ball:balls{if-Ball.geti,j>0{sb.appendchar-Ball.geti,j+48;flag=false;break;}}没有帮助mch我用另一种方式得到它,对于Ball-Ball:balls{if Ball.geti,j>0{sb.appendchar Ball.geti,j+48;flag=false;break;}
@Override
public boolean equals(Object o) {
if (o == null || !o instanceof Ball) {
return false;
}
Ball otherBall = (Ball)o;
return row == otherBall.row &&
col == otherBall.col &&
color == otherBall.color &&
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + row;
result = prime * result + col;
result = prime * result + color;
return result;
}