ERLEDIGT
JA
JA
ANTWORTEN
10
10
ZUGRIFFE
724
724
EMPFEHLEN
-
28.08.07 12:39 #1
- Registriert seit
- Aug 2005
- Beiträge
- 76
Code java:Code java:1 2 3 4 5 6 7 8 9
classes D:\Programme\JAVA-PROJEKTE\0mGTeh1337Haxx0rProject\src\TCP\clientside.java:879: illegal start of expression this.ueberschriften = { "Name:", "Vorname:", "Straße:", "PLZ:", "Ort:", "Geburtsdatum:", "Familienstand:", "TelefonNr.:" D:\Programme\JAVA-PROJEKTE\0mGTeh1337Haxx0rProject\src\TCP\clientside.java:879: not a statement this.ueberschriften = { "Name:", "Vorname:", "Straße:", "PLZ:", "Ort:", "Geburtsdatum:", "Familienstand:", "TelefonNr.:" D:\Programme\JAVA-PROJEKTE\0mGTeh1337Haxx0rProject\src\TCP\clientside.java:879: ';' expected this.ueberschriften = { "Name:", "Vorname:", "Straße:", "PLZ:", "Ort:", "Geburtsdatum:", "Familienstand:", "TelefonNr.:" 3 errors BUILD FAILED (total time: 0 seconds)
Ähm ... seit wann kann man keine Arrays mehr direkt initialisieren?
Bin ich blöd? ? Wo is der Fehler?
-
28.08.07 12:44 #2MeinerEiner_80 Tutorials.de Gastzugang
Moin!
Also entweder:
Code :1
String[] tmp = {"a","b"};
oder
Code :1 2
String[] tmp = null; tmp = new String[]{"a","b"};
*grüssle*
MeinerEiner
-
28.08.07 12:50 #3
- Registriert seit
- Aug 2005
- Beiträge
- 76
ich hab das array jetzt direkt bei der Erstellung mit Elementen gefüllt .... ich finds zwar äusserst seltsam, dass hier
nicht funktioniert, aber ... Hey! Wayne!Code java:1
String[] tmp; tmp = {"bla", "blub"};
-
28.08.07 13:04 #4
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.885
- Blog-Einträge
- 29
Hallo,
Der Java Kompilier gibt einen Fehler aus, wenn eine lokale Variable vor ihrer Verwendung nicht initialisiert wurde.
Ein String local; ist nur eine Deklaration einer lokalen Variablen aber keine Initialisierung.
Membervariablen werden bei der Deklaration automatisch mit ihren default Werten initialisiert.
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
/** * */ package de.tutorials; /** * @author Thomas.Darimont * */ public class LocalsInitializationExample { /** * @param args */ public static void main(String[] args){ String local; //Deklaration //if(args.length < 10){ local = "bubu"; // Initialisierung //} System.out.println(local); //Verwendung } }
Der Kompilier führt während der Kompilierung eine Datenflussanalyse durch um zu sehen ob eine lokale Variable vor ihrer ersten Verwendung initialisiert wird.
Lässt man in diesem Beispiel die Kommentare weg, so erkennt der Kompilier, dass die lokale Variable local in dem Fall, dass args.length > 9 ist vor ihrer Verwendung möglicherweise nicht initialisiert ist und gibt eine entsprechende Fehlermeldung aus.
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
28.08.07 13:47 #5
- Registriert seit
- Aug 2005
- Beiträge
- 76
das is klar .... Aber ich will meine Variable im Konstruktor initialisieren (genauso wie du im Beispiel), eine vorzeitige Verwendung kommt hier garnicht in Frage ... warum geht das nicht?
Warum muss ich in meinem Beispiel Deklaration und Initialisierung gleichzeitig vornehmen, damit alles kompiliert werden kann?Geändert von tha_specializt (28.08.07 um 13:50 Uhr)
-
Hallo,
warum machst du nicht einfach
Code java:1 2 3
String[] tmp = null; tmp = {"bla", "blub"};
MFG
zEriXEs ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)
-
28.08.07 13:51 #7
- Registriert seit
- Aug 2005
- Beiträge
- 76
hab ich versucht ... geht nicht (selbe Fehlermeldung)
-
28.08.07 13:52 #8
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.885
- Blog-Einträge
- 29
Hallo,
diese Kurzform der nachträglichen Array-Initialisierung geht nur mit lokalen Variablen und dann unter den genannten Einschränkungen. "Direkt" kann man diese Kurzform der Array Initialisierung überall verwenden.
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
/** * */ package de.tutorials; /** * @author Thomas.Darimont * */ public class LocalsInitializationExample { String[] works = {"a","b"}; String[] worksAlso; String[] doesNotWork; public LocalsInitializationExample(){ worksAlso = new String[]{"gugu"}; String[] antoherWorkingExample = {"gaga"}; doesNotWork = {"bubu"}; } }
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
28.08.07 13:54 #9
- Registriert seit
- Aug 2005
- Beiträge
- 76
ah, danke ....
-
Hast du schon ausprobiert ob folgendes geht?
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
class formular extends Thread { private String[] ueberschriften; formular() { this.ueberschriften = [B]new String[][/B] { "Name:", "Vorname:", "Straße:", "PLZ:", "Ort:", "Geburtsdatum:", "Familienstand:", "TelefonNr.:", "HandyNr.:", "FaxNr.:", "HandyNr.:", "E-Mail:" }; ...
ich gebe zu es nicht ausprobiert zu haben, aber vielleicht geht das ja.
-
Es ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)
Ähnliche Themen
-
public String replaceAll(String regex, String replacement) und das $-Zeichen
Von takidoso im Forum JavaAntworten: 5Letzter Beitrag: 22.11.10, 17:31 -
String[] array; undefinierter groesse initialisieren?
Von gamp im Forum JavaAntworten: 3Letzter Beitrag: 26.02.10, 21:19 -
Array initialisieren
Von LukeS im Forum C/C++Antworten: 7Letzter Beitrag: 05.12.06, 08:46 -
PHP String für Javascript String Escapen. (String über mehrere Zeilen)
Von Lukasz im Forum PHPAntworten: 2Letzter Beitrag: 04.09.06, 12:07 -
Tablet in PS initialisieren?
Von Carndret im Forum PhotoshopAntworten: 0Letzter Beitrag: 25.10.03, 18:06





Zitieren




Login





