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

ary*_*naq 9 java arrays list

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

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

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

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

Bhe*_*ung 9

你必须遍历数组:

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

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

  • @Aurand,不是真的.`Arrays.asList(new char [] {'a','b','c'})`实际上返回一个只有一个元素的`List`:一个带'a','b'和'c'的数组,不是一个"列表",有三个项目可能会有所期待. (2认同)

小智 5

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

List<Character> arrList = Arrays.asList(chArray);
Run Code Online (Sandbox Code Playgroud)


Joh*_*nyO 4

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

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

Character [] toObject(char [] input)
Run Code Online (Sandbox Code Playgroud)

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

public static List<Character> asList(char... backingArray)
Run Code Online (Sandbox Code Playgroud)