BinEinGast
25-07-2008, 17:29
Hallo Gemeinde,
ich habe ein Problem zwei Konstruktoren zu verketten. Folgendes Minimalbeispiel demonstriert das Problem:
[...]
public K(T t1, T t2, T t3) {
this({t1, t2, t3});
}
public K(T[] t) {
// Initialisiert die Objektvariablen ausgehend von t
}
[...]
Soll heissen ich habe zwei Konstruktoren: Einem übergebe ich ein paar Werte einzeln (K1), einem alle Werte in einem Array (K2). K2 deutlich einfacher zu implementieren.
Der o.g. Code funktioniert leider nicht. Die Fehlermeldung ist:
- Syntax error on token "this", invalid AnnotationName
- Syntax error, insert "EnumBody" to complete BlockStatements
- Syntax error, insert "enum Identifier" to complete EnumHeader
Folgender code
[...]
public K(T t1, T t2, T t3) {
K({t1, t2, t3});
}
[...]
resultiert in der Fehlermeldung
- Syntax error on token "K", @ expected before this token
- Syntax error, insert "EnumBody" to complete BlockStatements
- Syntax error, insert "enum Identifier" to complete EnumHeader
Ich weiss mir auch nicht wirklich zu helfen, da der Aufruf eines anderen Konstruktors imho immer die erste Anweisung im Konstruktor sein muss.
Daher meine Frage(n):
Hat jemand eine mehr oder weniger elegante Lösung für das Problem? Was heisst eigentlich @ vor einem Konstruktor?
Danke im Voraus,
Gruesse,
Benjamin
ich habe ein Problem zwei Konstruktoren zu verketten. Folgendes Minimalbeispiel demonstriert das Problem:
[...]
public K(T t1, T t2, T t3) {
this({t1, t2, t3});
}
public K(T[] t) {
// Initialisiert die Objektvariablen ausgehend von t
}
[...]
Soll heissen ich habe zwei Konstruktoren: Einem übergebe ich ein paar Werte einzeln (K1), einem alle Werte in einem Array (K2). K2 deutlich einfacher zu implementieren.
Der o.g. Code funktioniert leider nicht. Die Fehlermeldung ist:
- Syntax error on token "this", invalid AnnotationName
- Syntax error, insert "EnumBody" to complete BlockStatements
- Syntax error, insert "enum Identifier" to complete EnumHeader
Folgender code
[...]
public K(T t1, T t2, T t3) {
K({t1, t2, t3});
}
[...]
resultiert in der Fehlermeldung
- Syntax error on token "K", @ expected before this token
- Syntax error, insert "EnumBody" to complete BlockStatements
- Syntax error, insert "enum Identifier" to complete EnumHeader
Ich weiss mir auch nicht wirklich zu helfen, da der Aufruf eines anderen Konstruktors imho immer die erste Anweisung im Konstruktor sein muss.
Daher meine Frage(n):
Hat jemand eine mehr oder weniger elegante Lösung für das Problem? Was heisst eigentlich @ vor einem Konstruktor?
Danke im Voraus,
Gruesse,
Benjamin