Dynamisch Variablennamen generieren?

Status
Nicht offen für weitere Antworten.

ypsdg

Mitglied
Hallo zusammen,

gibt es eine Möglichkeit innerhalb einer Schleife z.B. neue Stringvariablen zu erzeugen?
also etwa:

for (int i = 0; i==10; i++) {
String name; <--- genau das geht aber nicht!
}

Am Ende sollten dabei also 10 Strings (name0, name1, ...) rauskommen.
Hat jemand eine Idee?
Vielen Dank!

ypsdg
 
B

bygones

Gast
nöp geht nicht !!
mach doch einen array wenn die anzahl von variablen schon bekannt ist:
Code:
String[] sa = new String[10];
for(int i = 0; i < sa.length; i++) {
  sa[i] = "irgendwas " + i;
}
oder eine Collection wenn größe noch nicht bekannt ist
Code:
Collection liste = new Vector();
for(int i = 0; i < sa.length; i++) {
  liste.add(i + "");
}
 

Grizzly

Top Contributor
Wenn man die zwei Beispiele von deathbyaclown zusammenfasst, könnte man auch folgendes schreiben:
Code:
Vector strings = new Vector();
for (int i = 0; i==10; i++) {
	strings.addElement(String.valueOf(i)); // <-- Beispieldaten
}
String[] stringArray = (String[]) strings.toArray();
 
B

bygones

Gast
Grizzly hat gesagt.:
Wenn man die zwei Beispiele von deathbyaclown zusammenfasst, könnte man auch folgendes schreiben:
Code:
Vector strings = new Vector();
for (int i = 0; i==10; i++) {
	strings.addElement(String.valueOf(i)); // <-- Beispieldaten
}
String[] stringArray = (String[]) strings.toArray();
Damit wirst du aber nicht ganz glücklich:
Code:
Vector strings = new Vector();
for (int i = 0; i==10; i++) {
	strings.addElement(String.valueOf(i)); // <-- Beispieldaten
}
String[] stringArray = (String[]) strings.toArray(new String[strings.size());
du musst der Methode noch mitgeben was der Typ des arrays ist.... (sonst wird eine ClassCastException) geworfen

aber ich denke für ypsdg ist das overkill :wink:
 

Reality

Top Contributor
deathbyaclown hat gesagt.:
}[/code]
oder eine Collection wenn größe noch nicht bekannt ist
Code:
Collection liste = new Vector();
for(int i = 0; i < sa.length; i++) {
  liste.add(i + "");
}

Gibt es ein Unterschied zwischen deinem Code und dem hier?
Code:
Vector v= new Vector();

Liebe Grüße
Reality
 
B

bygones

Gast
nein gibt es nicht...
genauso geht:
Code:
List vector = new Vector();
ich verwende hier die Interfaces die Vector implementiert. Man sollte wenn ein Interface zu der Struktur vorhanden ist immer das Interface nehmen einfach aus Flexibiltätsgrunden...

Das ganze ist eigentlich bei Methoden rückgaben zu verwenden:
man sollte - wenn man eine Collection zurückgeben will nicht schreiben:

Code:
public Vector getACollection() {
  return new Vector();
}
sondern
Code:
public Collection getACollection() {
  return new Vector();
}
hat den Vorteil - wenn du nun merkst - ach Vector passt nicht gut, HashSet, ArrayList oder was auch immer ist besser musst du nur schreiben
Code:
public Collection getACollection() {
  return new HashSet();
}
alle Klassen die diese Methode nützen müssen nicht geändert werden -> das macht deine API flexibel und leicht wartbar
 

Reality

Top Contributor
deathbyaclown hat gesagt.:
nein gibt es nicht...
genauso geht:
Code:
List vector = new Vector();
ich verwende hier die Interfaces die Vector implementiert. Man sollte wenn ein Interface zu der Struktur vorhanden ist immer das Interface nehmen einfach aus Flexibiltätsgrunden...
Weil man dann beide Methoden/Klassen zur Verfügung hat?
Das ganze ist eigentlich bei Methoden rückgaben zu verwenden:
man sollte - wenn man eine Collection zurückgeben will nicht schreiben:

Code:
public Vector getACollection() {
  return new Vector();
}
sondern
Code:
public Collection getACollection() {
  return new Vector();
}
Die beiden Ausschnitte sehen mir identisch aus!

Liebe Grüße
Reality
 
B

bygones

Gast
Reality hat gesagt.:
Warum ist das nun so flexibel?
Wenn du eine Methode aufrufst die eine Collection zugibt musst du dich nicht darum kümmern was für eine Collection es ist. Stell dir vor die Methode wird sehr oft in der Anwendung verwendet. Du hast als Rückgabe Wert Vector angegeben. Nun stellst du fest: "mhm Vector sind dumm hier - ich will keine Duplicate drin haben, hey nehm ich HashSet und schon ist mein Problem gelöst" (als Beispiel). Nun darfst du dich ran machen deine gesamte Anwendung durchzusuchen wo du die Methode verwendet hast und wo du überall Vector geschrieben hast....
Hast du als Rückgabe wert Collection - so musst du das ganze nur in der eigentlichen Methode ändern. Dein Restprogramm bleibt konsistent.....
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
districon Dynamisch Programmierung/Backtracking/Memoization Java Basics - Anfänger-Themen 3
T Klassen Denkfehler im Klassen "dynamisch" instanzieren? Java Basics - Anfänger-Themen 4
J Verundung dynamisch gestalten Java Basics - Anfänger-Themen 21
B Folgende Abfrage dynamisch programmieren? Java Basics - Anfänger-Themen 8
R Datenbank-Werte dynamisch ausgeben Java Basics - Anfänger-Themen 19
D new arraylist (List) dynamisch erstellen Java Basics - Anfänger-Themen 1
B Klassen Klasse dynamisch laden. Java Basics - Anfänger-Themen 8
N Dynamisch erzeugtes Label wird nicht angezeigt, TextField schon Java Basics - Anfänger-Themen 1
D Koordinatensystem dynamisch anpassen Java Basics - Anfänger-Themen 17
J Tableview, ObservableList ein bisschen dynamisch Java Basics - Anfänger-Themen 6
C Array - Länge dynamisch übergeben Java Basics - Anfänger-Themen 7
D Erste Schritte Dynamisch Objekte erzeugen und diese durchsuchen Java Basics - Anfänger-Themen 7
GreyFox Object dynamisch mit werten versehen. Java Basics - Anfänger-Themen 4
G Array dynamisch ausgeben Java Basics - Anfänger-Themen 3
S JTable dynamisch mit Datenbankinhalten füllen Java Basics - Anfänger-Themen 6
F Erste Schritte If Bedingung in Schleife dynamisch erweitern Java Basics - Anfänger-Themen 4
K JLabel zur Laufzeit dynamisch erzeugen Java Basics - Anfänger-Themen 7
V Text aus einer .txt dynamisch ins applet einpassen Java Basics - Anfänger-Themen 0
Y Eingabe-Formular mit JSP dynamisch machen - j/n/wie? Java Basics - Anfänger-Themen 2
N Dynamisch JTree erstellen Java Basics - Anfänger-Themen 3
R Objekte dynamisch erstellen? Java Basics - Anfänger-Themen 14
C Variablen Array dynamisch halten und ausrechnen Java Basics - Anfänger-Themen 14
N Ergebnisse dynamisch in Tabelle schreiben Java Basics - Anfänger-Themen 3
G JObjekte dynamisch vom Server erzeugen lassen Java Basics - Anfänger-Themen 4
I Dynamisch erzeugten Buttons Methoden zuweisen Java Basics - Anfänger-Themen 6
H Objekte dynamisch erzeugen? Java Basics - Anfänger-Themen 6
M Variablen dynamisch variableninhalt von Object auslesen Java Basics - Anfänger-Themen 4
S if-Block dynamisch aufbauen Java Basics - Anfänger-Themen 5
M Static Variable "dynamisch" aufrufen? Java Basics - Anfänger-Themen 8
B Klassen Objekte während der Laufzeit dynamisch anlegen Java Basics - Anfänger-Themen 8
A JButtons dynamisch generieren mit verschiedenen actionhandlern Java Basics - Anfänger-Themen 6
P Scrollpane mit dynamisch erzeugten Komponenten Java Basics - Anfänger-Themen 3
U JPanel dynamisch gestalten Java Basics - Anfänger-Themen 7
R Liste graphischer Objekte z.B. JButton dynamisch erstellen Java Basics - Anfänger-Themen 13
A Dynamisch die Anzahl der Threads in der Cyclic Barrier ändern Java Basics - Anfänger-Themen 2
K Datentypen Full qualified Name dynamisch gestalten Java Basics - Anfänger-Themen 7
M For-Schleifen dynamisch generieren? Java Basics - Anfänger-Themen 10
sqsh statische jlabels dynamisch verwalten Java Basics - Anfänger-Themen 2
O Wie kann man das einfach lösen? (dynamisch viele Attribute) Java Basics - Anfänger-Themen 6
L Tray-Einträge und dazu passende ActionListener dynamisch erzeugen? Java Basics - Anfänger-Themen 2
D JPanel dynamisch anpassen Java Basics - Anfänger-Themen 5
S Dialog dynamisch vergrößern Java Basics - Anfänger-Themen 2
S Dynamisch Zeit auslesen Java Basics - Anfänger-Themen 11
M JTextPane dynamisch erzeugen Java Basics - Anfänger-Themen 2
J Aufgaben Dynamisch auf Pool von Threads verteilen. Java Basics - Anfänger-Themen 3
D ArrayList dynamisch befüllen Java Basics - Anfänger-Themen 14
G Objekteigenschaften dynamisch erzeugen Java Basics - Anfänger-Themen 7
jnoob Checkbox in Dialog Dynamisch erstellen Java Basics - Anfänger-Themen 2
K suche nicht dynamisch Datenstruktur Java Basics - Anfänger-Themen 6
J ListModel dynamisch und schnell aber sicher ändern Java Basics - Anfänger-Themen 7
M Dynamisch Instanzen erstellen. Java Basics - Anfänger-Themen 4
G Zweidimensionales Array - dynamisch Java Basics - Anfänger-Themen 4
B arrays dynamisch vergrößern Java Basics - Anfänger-Themen 5
V Kundenklasse dynamisch erzeugen und id hochzählen? Java Basics - Anfänger-Themen 4
C Dynamisch durch alle Objektvariablen eines Objektes iteriere Java Basics - Anfänger-Themen 15
P JPanel dynamisch mit ActionListener verwalten Java Basics - Anfänger-Themen 3
R Arraygroesse dynamisch anpassen Java Basics - Anfänger-Themen 8
X this dynamisch, super statisch? Java Basics - Anfänger-Themen 3
G Namen von ArrayListen dynamisch erzeugen Java Basics - Anfänger-Themen 4
H variable dynamisch ändern Java Basics - Anfänger-Themen 2
G Klasse dynamisch ohne Datei compilieren: Fehler Java Basics - Anfänger-Themen 4
G Klasse dynamisch nachladen: Fehler Java Basics - Anfänger-Themen 9
T Array Dynamisch Erweiterm Java Basics - Anfänger-Themen 15
H dynamisch Klassen laden und ausführen Java Basics - Anfänger-Themen 3
M Gleichungen dynamisch erstellen und ausrechnen? Java Basics - Anfänger-Themen 8
G Pfad dynamisch gestalten. Java Basics - Anfänger-Themen 3
B Matrix Dynamisch erzeugen Java Basics - Anfänger-Themen 3
G JTable dynamisch erzeugen. Java Basics - Anfänger-Themen 2
D Labels Dynamisch ? Java Basics - Anfänger-Themen 5
6 Swing: Dynamisch erzeugte Objekte sind verschoben Java Basics - Anfänger-Themen 2
G Variablenname dynamisch vergeben Java Basics - Anfänger-Themen 10
H 2DArray manuell dynamisch erweitern Java Basics - Anfänger-Themen 7
G Länge eines Array trimmen oder dynamisch verändern. Java Basics - Anfänger-Themen 3
M Dynamisch Klassen aufrufen Java Basics - Anfänger-Themen 4
H JLabel dynamisch anzeigen? Java Basics - Anfänger-Themen 10
T ActionListener zu Buttons dynamisch zuordnen Java Basics - Anfänger-Themen 10
G dynamisch Jtextfields erzeugen Java Basics - Anfänger-Themen 3
M HTML Seite die Daten in JavaApplet dynamisch verarbeiten Java Basics - Anfänger-Themen 2
H Variablenname dynamisch festlegen Java Basics - Anfänger-Themen 3
H Variablenname dynamisch festlegen Java Basics - Anfänger-Themen 3
J Tabelle mit mehreren Zeilen dynamisch aufbauen Java Basics - Anfänger-Themen 2
K Bild dynamisch erstellen Java Basics - Anfänger-Themen 2
M Klasse dynamisch erzeugen! Java Basics - Anfänger-Themen 4
M [SOLVED]JComboBoxen dynamisch erstellen und abfragen Java Basics - Anfänger-Themen 2
S Dynamisch Platz für ein Array reservieren? Java Basics - Anfänger-Themen 7
Z Objekte dynamisch erzeugen Java Basics - Anfänger-Themen 19
O Variabelnamen dynamisch generieren Java Basics - Anfänger-Themen 3
E Klassenaufrufe dynamisch mit Reflection Java Basics - Anfänger-Themen 4
J Instanzen dynamisch erzeugen Java Basics - Anfänger-Themen 8
G jar dynamisch laden Java Basics - Anfänger-Themen 6
B Kann man in Java Variablen dynamisch generieren? Java Basics - Anfänger-Themen 3
B JTextField dynamisch anpassen Java Basics - Anfänger-Themen 6
G Komponenten dynamisch auf contentPane einbinden Java Basics - Anfänger-Themen 5
S Objekte dynamisch anlegen Java Basics - Anfänger-Themen 3
G Objekt Namen dynamisch vergeben. Java Basics - Anfänger-Themen 7
T Newbie Frage. Vector dynamisch benennen :( Java Basics - Anfänger-Themen 5
F Objekte dynamisch erstelle Java Basics - Anfänger-Themen 11
M String und Int Arrays dynamisch die Größe verändern Java Basics - Anfänger-Themen 7
C eine Liste dynamisch erzeugen ? Java Basics - Anfänger-Themen 6
G klasse dynamisch aufrufen, wie? Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben