2013-02-25 42 views
6

我停留在這個問題(發送鍵GUI),其中我一個字符串轉換爲字符陣列然後我想要的characterarray作爲ArrayList。本質:轉換的字符陣列的ArrayList字符

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

我想cList是形式['A', 'B', 'C']的字符數組列表。我不知道如何解開它,然後從中創建一個ArrayList。 Arrays.asList() returns a List<char[]>這不是我想要或需要的。

我知道我可以循環,並添加到列表中,我尋找的東西簡單(當然存在)。

回答

3

據我所知,這並不在核心JDK存在,但功能是通過幾個常見的庫提供。

例如,Apache的百科全書朗與ArrayUtils以下簽名的方法:

Character [] toObject(char [] input) 

同樣,谷歌番石榴圖書館的字符數類更直接的方法:

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

雖然@Bhesh Gurung有一個有用的答案,我正在尋找更直接的方法,將接受這個作爲我的答案(並得到安裝谷歌番石榴)。 – arynaq 2013-02-25 21:49:09

7

你通過數組必須循環:

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

注:Arrays.asList()僅供參考類型不是基本類型的作品。

+0

我敢肯定,這將autobox元。除非你非常關心性能,否則我不會看到不使用它的理由。 – Aurand 2013-02-25 21:34:39

+1

@Aurand,不是真的。 'Arrays.asList(新的char [] { 'A', 'B', 'C'})'實際上返回一個'List'只有一個元素:與 'A', 'b' 和 'c' 的陣列,不是一個「List」,其中有三個項目是人們所期望的。 – danidemi 2016-04-19 21:48:39

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

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