Java:是否有任何简短的组合将原语数组转换为List并接收"可打印"版本?

dmi*_*aev 7 java arrays

int[] arrc = new int[] {1, 2, 3};
System.out.println(new ArrayList(Arrays.asList(arrc)));
Run Code Online (Sandbox Code Playgroud)

打印地址,但我希望在ArrayList中使用toString.

可能吗 ?

Bar*_*ers 7

尝试:

import java.util.Arrays;

// ...

int[] arrc = new int[] {1, 2, 3};
System.out.println(Arrays.toString(arrc));
Run Code Online (Sandbox Code Playgroud)

请注意,asList(...)它不采用原始数组int而是采用Objects,这就是为什么你会看到类似地址的字符串出现的原因.

所以,做:

int[] array = {1, 2, 3};
List list = Arrays.asList(array);
Run Code Online (Sandbox Code Playgroud)

结果与做:

int[] array = {1, 2, 3};
List list = new ArrayList();
list.add(array);
Run Code Online (Sandbox Code Playgroud)

两者都导致List中有一个元素:一个原始数组int.

(仅Arrays.asList(...)返回无法修改的List ...)