Ich habe folgende Klasse:Java - Verwenden Sie Class-Parameter in Methodenparameter
public class Publisher<T> {
private static final Class[] SUPPORTED_CLASSES = new Class[]{T1.class, T2.class};
public Publisher() {
if(Arrays.asList(SUPPORTED_CLASSES).contains(T)) { // error: expression expected!
System.out.println("Class not supported!");
}
}
}
Wie kann ich überprüfen, ob Klassenparameter für die Umsetzung entspricht?
Im obigen Beispiel kann ich den Klassenparameter T nicht als Parameter verwenden.
Überprüfen Sie diesen Thread https://stackoverflow.com/questions/3403909/get-generic-type-of-class-at-runtime –
Warum willst du das, wenn ich fragen darf? –
@MCEperor Ich wollte überprüfen, ob die Klasse unterstützt wird, und ggf. eine Warnmeldung protokollieren. – FazoM