2017-11-14 2 views
-2

Ich habe eine Hauptklasse und eine UI-Klasse.Zugriff auf Daten außerhalb für Schleife

Lassen Sie mich zuerst erklären. Was ich gerade mache, ist die Verarbeitung einiger JAR-Dateien, um alle Klassennamen in ihnen zu finden (später mit Reflektion zu verwenden)

In Haupt, mache ich Dinge und Daten verarbeiten und in der Benutzeroberfläche gibt es eine JTabbedPane, die eine lädt JFrame, wenn ein Plugin korrekt geladen ist (Dazu teile ich die UI-Klasse von main und rufe sie dann auf).

Nun, um dies dynamisch zu machen, habe ich eine nette for-Schleife gemacht, die alle Gläser durchläuft und alle Klassennamen bekommt.

Frage ist, Wie greife ich auf die extern gefundenen Strings in der for-Schleife zu?

EDIT Ein Kommentator wies darauf hin, dass ich nur die Saiten außerhalb der for-Schleife erklären könnte, Problem ist Ich habe keine Ahnung, wie viele Gläser i und aus Gründen der Benutzerfreundlichkeit geladen werden kann, ich mag das Hauptprogramm halten, wie es (so kein Updates, nur Plugin Updates, die in dem Glas selbst zur Laufzeit verarbeitet werden können) ist

Sorry, wenn dies dumm ist.

+0

deklarieren Sie die Zeichenfolge außerhalb der for-Schleife und den Wert innerhalb der for-Schleife zuweisen –

+0

Problem ist, dass ich nicht weiß, wie viele Gläser ich laden, so dachte ich, dass die Zuweisung von 20 leere Zeichenfolgen eine schlechte Idee ist. Gibt es keinen Weg, dies effizienter zu machen? –

+0

Suchen Sie die Klasse 'List' in Java und wie Sie sie verwenden. Dann fügen Sie alles zu einer 'Liste ' hinzu. Auch, um nicht beleidigend zu sein, aber: Denken Sie wirklich, es ist eine gute Idee, etwas mit Reflexion zu tun, wenn Sie nicht einmal gute Grundkenntnisse über Java haben? –

Antwort

0

Da die Menschen in den Kommentaren die beste Wahl eine Liste von String außerhalb der Schleife zu erklären wäre:

List<String> classnames = new ArrayList<String>(); 
for(String classname : jar) { 
    classnames.add(classname); 
} 

Etwas Ähnliches.

+0

Gute Möglichkeit, um ziemlich viel freie Rep zu bekommen. Trotzdem danke Ihnen und allen, die kommentiert haben. –

+0

Tut mir leid, wenn das wie ein Versuch war, freien Ruf zu bekommen. Fühlen Sie sich frei, die beste Antwort auszuwählen. –

Verwandte Themen