将字符数组转换为字符的arraylist

时间:2013-02-25 21:12:07

标签: java arrays list

我遇到了这个问题(向GUI发送密钥)我将字符串转换为字符数组然后我希望characterarray作为arraylist。基本上:

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

我希望cList成为['A', 'B', 'C']形式的字符arraylist。我不知道如何解压缩然后从中创建一个ArrayList。 Arrays.asList() returns a List<char[]>这不是我想要或不需要的。

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

3 个答案:

答案 0 :(得分:8)

你必须遍历数组:

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

注意:Arrays.asList()仅适用于非基元的参考类型。

答案 1 :(得分:5)

Character[] chArray = {'n','a','n','d','a','n','k','a','n','a','n'};

List<Character> arrList = Arrays.asList(chArray);

答案 2 :(得分:3)

据我所知,这在核心JDK中不存在,但功能由几个常见的库提供。

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

Character [] toObject(char [] input)

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

public static List<Character> asList(char... backingArray)