gpt4 book ai didi

java - 如何搜索内容与另一个数组匹配的一个数组?

转载 作者:行者123 更新时间:2023-12-01 06:28:16 26 4
gpt4 key购买 nike

我有一个 int 数组的 ArrayList,当我询问它是否包含指定的坐标时,它返回 false。它确实包含我请求的坐标,因此它应该返回 TRUE。

这是我的代码。

    //debug code
for (int i = 0; i < Locations.size(); i++)
{
int[] TestLoc = Locations.get(i);

System.out.print(TestLoc[0] + " " + TestLoc[1] + " " + TestLoc[2] + " == " + Location[0] + " " + Location[1] + " " + Location[2] + "? - ");

if (Location == TestLoc)
{
System.out.println("TRUE");
}

else
{
System.out.println("FALSE");
}
}

//real code
if (Locations.contains(Location))
{
Locations.remove(Location);
}

else
{
System.out.println("FAIL");
}

并输出,当列表包含4个坐标时,请求坐标57,64,105。

56 64 105 == 57 64 105? - 错误

56 64 106 == 57 64 105? - 错误

56 64 107 == 57 64 105? - 错误

57 64 105 == 57 64 105? - 错误

什么给了???

最佳答案

Java 的数组 equals 是恒等相等。您需要创建一个实际的坐标类。

换一种说法:

int[] c1 = new int[] { 1, 2 };
int[] c2 = new int[] { 1, 2 };
System.out.println(c1.equals(c2)); // prints false

关于java - 如何搜索内容与另一个数组匹配的一个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6984475/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com