2015-08-13 71 views
0

我有一個轉換列表<ArrayList>爲String []

List<ArrayList> arg = new ArrayList<ArrayList>(); 

[[logo], [cd_branche], [lib_branche]], 

(other arguments not relevant) 

[[1111,22222,3333]],[[2222,324,432]]... 

,我想將它轉換爲String []所以我做了這個

Object[] obj = arg.toArray(); 
    String[] headers =new String[obj.length]; 

    for(int i=0;i<headers.length;i++) { 
     headers[i]= (String) obj[i]; 
     } 

但我得到

java.util.ArrayList cannot be cast to java.lang.String 

我要找的輸出是

headers[0]=logo 
headers[1]=cd_branche 
headers[2]=lib_branche 

使用Java 6

回答

1

聽起來好像希望它是字符串(即"[["logo", "cd_branche", "lib_cranche"],[..],[..],[1111,22222,3333],[2222,324,432]")的陣列。

在這種情況下,簡單地做:

Object[] obj = arg.toArray(); 
String[] headers =new String[obj.length]; 
for(int i=0;i<headers.length;i++) { 
    headers[i]= Arrays.toString(obj); 
} 

而且裏面obj你的ArrayList對象中的每一個將字符串數組格式返回。


UPDATE:既然你想把它當作一個平面數組,你需要(一)計算所需的數組的大小和(b)通過你的對象有兩個迴路運行,並作出深刻搜索這樣的:

int size = 0; 
for (int i = 0; i < arg.size(); size += arg.get(i++).size()); 

String[] headers =new String[size]; 
for(int count = 0, i=0;i<arg.size();i++) { 
    for (int j=0; j< arg.get(i).size(); j++) { 
     headers[count++]= arg.get(i).get(j).toString(); 
    } 
}    
+0

不,我想要的是一個String []標題頭[1] =「徽標」標題[2] =「cd_branch」等等 –

0

字符串標題= 「」;
爲(字符串頭:ARG) {頭+ =報頭;}

相關問題