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 に答える