Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在arraylist中标识自定义定义的对象_Java_Arraylist - Fatal编程技术网

Java 在arraylist中标识自定义定义的对象

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

我想检查对象球是否包含在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.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;
}