使用 java 中的 Collections.reverse() 方法反转数组未按预期运行

tur*_*g23 0 java arrays collections reverse

我试图使用 java 中的 Collections.reverse() 方法反转字符数组中的元素。它没有反转它们,所以我采用了我提到的示例中使用的整数数组,但没有成功

这是我的代码

int[] intarr = {1,2,3,5,7,8};
System.out.println(Arrays.toString(intarr));
Collections.reverse(Arrays.asList(intarr));
System.out.println(Arrays.toString(intarr));
Run Code Online (Sandbox Code Playgroud)

它返回两个与输入相同的列表!这里出了什么问题?

rzw*_*oot 5

Arrays.asList(intarr)不做你认为它做的事。

鉴于这intarr是一个原始数组,不可能简单地将其转换为列表;毕竟,a List<int>(还)不是合法的java。

因此,这使得 a List<int[]>(如 int 数组列表)中恰好有 1 个元素:您的 int 数组。正如您可能猜测的那样,反转 1 尺寸列表不会执行任何操作。

对于使用第三方库这一不足,没有简单的答案。