Hezké nedělní poledne!
Možná jsem málo studoval genericitu, ale proč není možné použít T.class (a
T.class.getName() apod.) v tomto případě?
public class NewClass<T> {
public NewClass() {
System.out.println("Zavolali jste mě s typem " +
T.class.getName());
}
public static void main(String[] args) {
new NewClass<String>();
new NewClass<Integer>();
}
}
NetBeans varuje hláškou: "Cannot select from a type variable".
Pokus o překlad dopadne chybou:
Exception in thread "main" java.lang.RuntimeException: Uncompilable source
code - Erroneous tree type: <any>
at beantablemodel.NewClass.<init>(NewClass.java:14)
at beantablemodel.NewClass.main(NewClass.java:18)
Java Result: 1
Vždyť to je známo jaký objekt jsem dodal (new NewClass<String>()) a na každý
objekt je možné použít .class...
Díky za odpovědi!
Libor