Wie der Titel schon sagt, habe ich ein Problem, während ich eine Arrayliste von Arrays durchlaufe. Hier ist meine Definition: public static ArrayList<JTextArea[]> ta;
So lese ich Wert daraus:
Iterator<JTextArea[]> i = Interface.ta.iterator();
while(i.hasNext())
{
JTextArea[] t = (JTextArea[]) i.next();
ret += t[0].getText() + ", ";
}
Das JTextArea-Array ist immer ein Array von vierElemente und in dieser Zeit muss ich den Text des Ersten lesen. Das Problem ist einfach: Die Methode "next ()" gibt mir jedes JTextArea-Objekt, nicht das vollständige Array aus 4 JTextArea-Objekten.
Gibt es eine Möglichkeit, mit der Next () -Methode das gesamte Array auszuwählen?
Danke im Voraus
Antworten:
1 für die Antwort № 1Benutzen For Each
Anstatt von Iterator
for (JTextArea[] jTextAreaArray : ta) {
// Use jTextAreaArray to do your process.
}
Es ist sehr einfach zu bedienen und nicht Iterator
Um einzelne Objekte zu erhalten, verwenden Sie.
for (JTextArea[] jTextAreaArray : ta) {
for(JTextArea jTextArea : jTextAreaArray ){
// Do your Process with Individual jTextArea.
}
}
0 für die Antwort № 2
Sie sollten in der Lage sein, auf t [1], t [2], t [3] für die anderen 3 im t-Array zu verweisen, daher sollten Ihre Codes wie folgt lauten:
ArrayList<JTextArea[]> ta=null;
// setup ta here;
String ret = "";
Iterator<JTextArea[]> i = ta.iterator();
while (i.hasNext()) {
JTextArea[] t = i.next();
ret += t[0].getText() + ", ";
ret += t[1].getText() + ", ";
ret += t[2].getText() + ", ";
ret += t[3].getText() + ", ";
// or
for (int x=0; x<t.length; x++) {
ret += t[x].getText() + ", ";
}
}