我遇到了这个问题(向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[]>
这不是我想要或不需要的。
我知道我可以循环并添加到列表中,我正在寻找更简单的东西(肯定存在一个)。
答案 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)