Hallo zusammen,
ich habe noch nicht viel in Java programmiert, und bin jetzt auf ein kleines Problem gestoßen. Ich will einen Konstruktor in einem anderen aufrufen, ungefähr so:
Das klappt nicht, weil der Aufruf des Konstruktors mit "this" am Anfang stehen muss. Ich kann ihn aber nicht an den Anfang setzen, weil ja zuerst die Zeichenkette aufgespalten werden muss.
Auch würde ich die Elemente s1 und s2 ungern direkt im zweiten Konstruktor setzen, weil im ersten in Wirklichkeit noch ein paar Berechnungen gemacht und static-Variablen gesetzt werden.
Vielleicht könnte man auch alles in eine Zeile schreiben, ungefähr so:
Ich hab's nicht ausprobiert. Aber leider werden auch im zweiten Konstruktor mit den aufgespaltenen Strings noch diverse Sachen gemacht, die ich so einfach nicht in einer Zeile unterbringe.
Vermutlich muss man das ganz anders anfangen. Aber wie am besten?
Vielen Dank schon mal
Michael
ich habe noch nicht viel in Java programmiert, und bin jetzt auf ein kleines Problem gestoßen. Ich will einen Konstruktor in einem anderen aufrufen, ungefähr so:
Java:
public class myclass {
String s1, s2;
myclass (String t1, String t2) {
s1 = t1;
s2 = t2;
// weiterer Code
}
myclass (String t) {
String t2;
String[] split=t.split(",");
if (split.length < 2) t2 = "defaultstring";
else t2 = split[1];
this (split[0], t2); // geht nicht!
}
}
Das klappt nicht, weil der Aufruf des Konstruktors mit "this" am Anfang stehen muss. Ich kann ihn aber nicht an den Anfang setzen, weil ja zuerst die Zeichenkette aufgespalten werden muss.
Auch würde ich die Elemente s1 und s2 ungern direkt im zweiten Konstruktor setzen, weil im ersten in Wirklichkeit noch ein paar Berechnungen gemacht und static-Variablen gesetzt werden.
Vielleicht könnte man auch alles in eine Zeile schreiben, ungefähr so:
Java:
myclass (String t) {
this (t.split(","))[0], ((t.split).length<2) ? "defaultstring" : (t.split(","))[1]);
}
Vermutlich muss man das ganz anders anfangen. Aber wie am besten?
Vielen Dank schon mal
Michael