Wie wird die Konvertierung von ListSomeParamType in ListSomeParamType erreicht?

8

Bei der Verwendung von Spring ApplicationContext und seiner Methode getBeansOfType ist ein Problem mit generischen Typen aufgetreten. Dies zeigt das Problem:

%Vor%

Ich lade alle Beans eines parametrisierten Typs aus dem Container ab. Ich möchte sie als Generator<?> haben und benutzerdefinierte Logik verwenden, um basierend auf einer Eigenschaft für jede Generator -Instanz sicher zum entsprechenden Typparameter zu konvertieren.

Mein Problem ist, dass ich keine Möglichkeit finden kann, allGenerators ohne Sicherheitswarnungen zu vergeben, obwohl ich auf konzeptioneller Ebene keinen unkontrollierten Typparameter festlege. Ich möchte nur einen Rohtyp in einen Wildcard-Typ konvertieren.

Gibt es ein Idiom, das @SuppressWarnings nicht benötigt, um dorthin zu gelangen?

    
Marko Topolnik 09.01.2015, 10:30
quelle

2 Antworten

3

Nicht wirklich eine Konvertierung, sondern ein Programm, das eine Liste des erforderlichen Typs ohne Warnungen erstellt:

%Vor%     
Raffaele 09.01.2015 11:07
quelle
1

Ich nehme an, das ist nicht möglich (um einen unformatierten Typ in einen mit einem Wildcard-Parameter zu konvertieren).

Der Grund dafür ist, dass der generische Typ (und insbesondere der Platzhalter) etwas anderes ist als ein Klassentyp und nicht mit den Werkzeugen der Klassentypen dargestellt werden kann.

    
Konstantin Yovkov 09.01.2015 11:12
quelle

Tags und Links