Hallo alle :) Ich versuche, den richtigen Konstruktor in einer Klasse zu wählen. Hier ist der Code:Überprüfung zur Laufzeit, wenn eine Klasse einen spezifischen Konstruktor hat, der Generics verwendet
Constructor[] constructors = targetClass.getConstructors();
Constructor goodConstructor = null;
for (Constructor constructor : constructors) {
Class[] parameterTypes = constructor.getParameterTypes();
if (parameterTypes.length = 1 && parameterTypes[0].equals(Map.class)) {//here
goodConstructor = constructor;
}
}
ich Map.class
-Map<String, String>.class
wechseln möchten. Ich erinnere mich vage daran, dass Generika nur zur Kompilierzeit sind, weshalb sich der Compiler beschweren muss. Wie kann ich zur Laufzeit überprüfen, ob die Klasse den richtigen Konstruktor hat?
Mit freundlichen Grüßen
Meine Antwort entfernt; Ich sollte vorsichtiger sein, bevor ich mit der "generics use type desaster" Antwort antworte! Ich würde sagen, wenn du das tust, dann ist fast sicher etwas mit deinem Design nicht in Ordnung! :) – James