[英]Converting ArrayList<ArrayList<String>> to ArrayList<ArrayList<Integer>>
[英]Converting List<ArrayList> to 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
聽起來好像您希望它是一個字符串數組(即"[["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對象都將以字符串數組格式返回。
更新:由於您希望將其作為平面數組,因此需要(a)計算所需數組的大小,以及(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();
}
}
字符串標題=“”;
for(String header:arg){headers + = header;}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.