gpt4 book ai didi

java - 将 List .get() 函数与数组进行比较的 boolean 表达式出现问题

转载 作者:行者123 更新时间:2023-11-30 01:48:23 25 4
gpt4 key购买 nike

我正在尝试根据以下代码评估并返回 true。为什么 .get(i) 不等于 int 数组? Intellisense 尚未发现任何编译错误。

private static boolean isTravelled(List<List<int[]>> paths, int x, 
int y) {
int[] arr = new int[]{x, y};
boolean isTravelled = false;
for (List<int[]> path : paths) {
for (int i = 0; i < path.size(); i++) {
if (path.get(i) == arr) {
isTravelled = true;
}
}
}
return isTravelled;
}

我尝试创建一个 LinkedList 来与列表路径进行比较。

List<int[]> arrL = new LinkedList<>();
int[] arr = new int[]{x, y};
arrL.add(arr);

for(List<int[]> path : paths) {
for (int i = 0; i < path.size(); i++) {
if (path.get(i) == arrL.get(0)) {

}
}
}

Variables List

我希望将 isTravelled 更改为 true,但 if 语句永远不会返回 true。

最佳答案

path.get(i) == arr - 这不是在 java 中比较数组的方式。

将其更改为 Arrays.equals(path.get(i), arr) 因为您想要比较数组的内容,而不是它们的引用。

关于java - 将 List<int[]> .get() 函数与数组进行比较的 boolean 表达式出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56981550/

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