[英]Extract String[] elements from a list
在我的工作中,我有以下源代碼:
import java.util.ArrayList;
import java.util.List;
public class Temporaer
{
public static void main(String[] args)
{
List stringArrayList = new java.util.ArrayList();
stringArrayList.add(fillStringArrayElement("a", "b"));
stringArrayList.add(fillStringArrayElement("c", "d"));
String[] listElement;
/*
* I'm stuck here, because I don't know what I have to do
*/
System.out.println(listElement.length);
}
//Just a method to fill a list easily
private static String[] fillStringArrayElement (String firstElem, String secondElem)
{
String[] stringArrayListElement = new String[2];
stringArrayListElement[0] = firstElem;
stringArrayListElement[1] = secondElem;
return stringArrayListElement;
}
}
我的目標是提取每個列表項並使用它們。
我嘗試使用此處提到的toArray[T[])
方法。 雖然會生成java.lang.ArrayStoreException
。 注意:由於列表是由外部服務填充的,因此我無法更改列表的類型。 也許我必須先轉換列表...
有人可以告訴我達到目標的方法嗎? 提前致謝。
Iterator
是Java中的一個interface
,用於iterate
ArrayList
類的Collection
或其他Collection
框架類。 在讀取ArrayList
之前,請使用size()
方法確保值可用。
這里是您的問題的示例工作片段。
String [] myArray ;
if (stringArrayList.size()>0){
Iterator<String [] > i = stringArrayList.iterator();
while(i.hasNext()){
myArray = i.next();
for(String s : myArray)
System.out.println(s);
}
}
}
不要使用Raw ArrayList
,而要使用Generics
用這個:
List<String[]> stringArrayList = new java.util.ArrayList<String[]>();
stringArrayList.add(new String[]{"a", "b"});
stringArrayList.add(new String[]{"c", "d"});
//if you cant to convert the stringArrayList to an array:
String[][] listElement = stringArrayList.toArray(new String[0][]);
for (String[] inArr : listElement){
for (String e : inArr){
System.out.print(e + " ");
}
System.out.println();
}
String[] listElement;
上面的語句是不正確的,因為您將arrays
保留在list
因此listElement
必須包含String[]
。
String [][] listElement
像下面這樣。
listElement=stringArrayList.toArray(new String[stringArrayList.size()][]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.