Ich versuche mich erstmalig in Generics und finde zur folgenden Situation keine klare Antwort.
typeA und typeB erben von Object.
main() erhält von method_A() ein Array, dessen konkreter Datentyp erst zur Laufzeit bestimmt ist.
Um den Scope zu halten kann ich (im Beispiel) die Wertzuweisung nicht zusammen mit der Initialisierung von value erledigen, also erstmal Typ Object.
Am Ende der main() übergebe ich value an method_B(), die dann Elemente des Arrays mit Methoden von Object weiterverarbeitet..
Funkionieren würde es, aber mir gefällt das irgendwie nicht. Ich fürchte, dass es mir den Code zur Laufzeit um die Ohren hauen kann.
Außerdem: Komme ich um das 'Object' in main() drumrum? Geht das auch ohne?
Also, wie geht sowas in schön und sicher?
typeA und typeB erben von Object.
main() erhält von method_A() ein Array, dessen konkreter Datentyp erst zur Laufzeit bestimmt ist.
Um den Scope zu halten kann ich (im Beispiel) die Wertzuweisung nicht zusammen mit der Initialisierung von value erledigen, also erstmal Typ Object.
Am Ende der main() übergebe ich value an method_B(), die dann Elemente des Arrays mit Methoden von Object weiterverarbeitet..
Java:
<T> T[] method_A() {
...
if (...) return typeA[];
return typeB[];
}
<T> method_B(T[] value) {
...
... value[0].toString();
...
}
<T> main() {
Objekt value = null;
{
...
value = method_A();
...
}
method_B( (T[]) value);
}
Funkionieren würde es, aber mir gefällt das irgendwie nicht. Ich fürchte, dass es mir den Code zur Laufzeit um die Ohren hauen kann.
Außerdem: Komme ich um das 'Object' in main() drumrum? Geht das auch ohne?
Also, wie geht sowas in schön und sicher?