Stringarray nicht beschreibbar?

FeliXXL

Mitglied
Kann in Stringarray nicht schreiben...

Java:
String[] str = null;
str[0] = "abc";
System.out.println(str[0]);

bitte um Hilfe! :(
 
Zuletzt bearbeitet:
Hallo
eigentlich müsste beim kompilieren oder ausführen dieses Codes eine Fehlermeldung (Exception) erscheinen, die dir hilft, den Fehler zu finden.

In deinem Fall ist das ganz einfach:
In der 1. Zeile definierst und deklarierst du ein String-Array, setzt die Referenz aber auf 'null', damit existiert es nicht. In der nächsten Zeile versuchst du, auf einen String in diesem Array zuzugreifen, das geht aber schief, weil das Array noch nicht da ist.
Eine mögliche Lösung wäre:

Java:
String[] str = new String[12];
str[0] = "abc";
System.out.println(str[0]);
 
Muss ich dann beim erstellen des Arrays schon festlegen wie groß es werden soll. Das weiß ich nämlich nicht, da das ganze dynamisch sein soll... muss ich dann nach jedem eintrag (durch Schleife) das Array erweitern, und geht das überhaupt? THX für die schnelle Antwort
 
Hi FeliXXL,

nein das geht nicht, wenn dann müsstest du ein neues, größeres Array erzeugen und alles bisherige da hineinkopieren. Wenn die Anzahl der Einträge auch extrem hoch werden kann, solltest du einen Vector oder eine ArreyList benutzen. (nur 2 der vielen Collections, weil ich sie häufig benutze)
Grundsätzlich sind Collections seriell und nicht parallel, dazu sind Iteratoren (in Java auch Enumerations genannt) nötig.
Java:
Sring[] str = new String[12];
for(int i=0; i<str.length; i++){
str[i] ...
}
würde zu:
Java:
Vector<String> str = new Vector<String>();
Enumeration<String> str_enum = str.elements();
while(str_enum.hasMoreElements()){
String current = str_enum.nextElement(); // lesend
}
Die Doc dazu giebts hier.

Erklärt wird alles recht gut im Galileo Open Book "Java ist auch eine Insel"

Gruß javaDeveloper2011
 

Neue Beiträge

Zurück