Hallo. Gerade steh ich etwas auf dem Schlauch.
Ich hab eine Methode geschrieben, die alle Komponenten eines bestimmten Typs aus einem Swing-Formular raussucht. Was ich nun möchte - um Casts zu vermeiden - wäre den Rückgabetyp generisch zu gestalten, also so etwas wie:
so klappt das natürlich nicht.
C müsste die gleiche Klasse wie findClass sein.
Ist das über Generics überhaupt so lösbar? Bisher hab ich immer nur Instanzobjekte übergeben und nie Class als solche.
Einen Würgaraund - eine Instanz von findClass zu übergeben - würde klarerweise funktionieren.
Aber wenn's irgendwie geht, würde ich es gerne direkt machen.
Ich hab eine Methode geschrieben, die alle Komponenten eines bestimmten Typs aus einem Swing-Formular raussucht. Was ich nun möchte - um Casts zu vermeiden - wäre den Rückgabetyp generisch zu gestalten, also so etwas wie:
Java:
public static <C extends Component> List<C> findAllInterfacesRecursive(Container source, final Class findClass) {...}]
C müsste die gleiche Klasse wie findClass sein.
Ist das über Generics überhaupt so lösbar? Bisher hab ich immer nur Instanzobjekte übergeben und nie Class als solche.
Einen Würgaraund - eine Instanz von findClass zu übergeben - würde klarerweise funktionieren.
Java:
public static <C extends Component> List<C> findAllInterfacesRecursive(Container source, C findClassObject) {...}]