indexOf显然不应该返回-1

Mua*_*eim 2 java

int[] sorted = {10,67,68,28};
int[] sortedOriginal = sorted.clone();
Arrays.sort(sorted);

System.out.println(Arrays.asList(sorted).indexOf(sortedOriginal[0]));
Run Code Online (Sandbox Code Playgroud)

在这个非常简单的代码中,我创建了一个int数组,克隆它,并对原始数据进行排序.之后我尝试找到给定某个值的索引并返回-1.

这没有意义.有谁知道为什么会这样,修复是什么?

Era*_*ran 5

Arrays.asList(sorted)返回具有单个int[]元素的List .这是它在原始数组上的工作方式,因此它不包含sortedOriginal[0](另一方面Arrays.asList(sorted).indexOf(sorted)它将返回0).

如果您使用Integer[]数组,您的代码将起作用.