10

我被困在这个问题上(向 GUI 发送密钥),我将字符串转换为字符数组,然后我希望字符数组作为数组列表。本质上:

String s = "ABC";
char[] cArray = s.toCharArray();
ArrayList<Character> cList = ??

我想cList成为形式的字符数组列表['A', 'B', 'C']。我不知道如何打开它,然后用它制作一个 ArrayList。Arrays.asList() returns a List<char[]>这不是我想要或需要的。

我知道我可以循环并添加到列表中,我正在寻找更简单的东西(肯定存在)。

4

3 回答 3

14

您必须遍历数组:

List<Character> cList = new ArrayList<Character>();
for(char c : cArray) {
    cList.add(c);
}

注意:Arrays.asList()仅适用于引用类型而不是原语。

于 2013-02-25T21:14:32.187 回答
4
Character[] chArray = {'n','a','n','d','a','n','k','a','n','a','n'};

List<Character> arrList = Arrays.asList(chArray);
于 2014-08-09T05:18:13.080 回答
3

据我所知,这在核心 JDK 中不存在,但该功能由几个通用库提供。

例如,Apache Commons Lang 在 ArrayUtils 中有一个具有以下签名的方法:

Character [] toObject(char [] input)

同样,Google Guava 库在 Chars 类中有一个更直接的方法:

public static List<Character> asList(char... backingArray)
于 2013-02-25T21:31:49.623 回答