我试图创建一个方法来告诉我我的数组是否包含任何重复的坐标,如果是,则将 boolean 值设置为 true,否则将其设置为 false。知道为什么它不断返回 false 吗?
public void check(){
if(point[particle].equals(point) == true){
check = true;
} else {
check = false;
}
}
点=点数组
粒子=当前粒子
check = 我用来检查的 boolean 值
最佳答案
查看这部分代码(根据 if
语句的条件):
point[particle].equals(point)
我认为有一些variable shadowing (或类似的事情)在这里发生。 point
似乎是一个数组,但您正在测试该数组的成员与数组本身之间的相等性 - 这就是为什么您不断得到 false
的原因。检查您的变量名称,看看您是否不小心对两个不同的变量使用了相同的名称。
作为注释,
if (condition == true) {
check = true;
} else {
check = false;
}
可以简化为
check = condition;
关于java - 方法应该检查数组自身吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12877721/