Re: Generické typy a .class - "Cannot select from a type variable"

2011-06-12 Tema obsahu Libor Jelinek
Díky za odpověď, pane Troníčku, už to chápu proč :-) Všiml jsem si, že se nové verze javac většinu věcí staží překládat do zpětně kompatibilního bajtkódu. Není to až příliš limitující? Jako vývojář bych měl přece udělat rozhodnutí pro jaké minimální JDK má aplikace poběží. A to ne jen ve smyslu n

Re: Generické typy a .class - "Cannot select from a type variable"

2011-06-12 Tema obsahu Jirka Havelka
Dobrý den, 1)doporučuji prostudovat: http://download.oracle.com/javase/tutorial/java/generics/gentypes.html It's important to understand that type variables are not actually types themselves. In the above examples, you won't find T.java or T.class anywhere on the file system. Furthermore, T is

Re: Generické typy a .class - "Cannot select from a type variable"

2011-06-12 Tema obsahu Petr Janata
Zdravím, když se lidi ze Sunu rozhodovali, jak implementovat generics, tak vybrali zpětně kompatibilní a nejjednodušší způsob: Type erasure [1]. Generické i negenerické třídy vypadají po zkompilování stejně. Kontrolu provádí jen kompilátor. V bytecode o aktuálních type parametrech nic není, takže

Re: Generické typy a .class - "Cannot select from a type variable"

2011-06-12 Tema obsahu Zdeněk Troníček
Ahoj, protože typový parametr není za běhu k dispozici. Při překladu jej překladač odstraní. Např. class Box { T t; Box(T t) { } } se přeloží jako class Box { Object t; Box(Object t) { } } Pokud potřebuješ v konstruktoru typový parameter, lze to udělat přes parametr typu Class: class

Generické typy a .class - "Cannot select from a type variable"

2011-06-12 Tema obsahu Libor Jelinek
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 { public NewClass() { System.out.println("Zavolali jste mě s typem " + T.class.getName()); } public static void m