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
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 nových API
v nových JDK, ale i nové syntaxe. Když bych chtěl překládat do starší verze
(--source-level), ale mám nové prvky JDK, pak by mi to jen
Dobrý den,
zpětná kompatibilita je limitující, ale bohužel to bez ní nejde. Pokud by
nová verze nebyla kompatibilní s tou předchozí, šlo by vlastně o nový
jazyk a to by Javě podle mého názoru spíš uškodilo.
Na druhou stranu je ale pravda, že lpění na co nejvyšší kompatibilitě s
předchozí verzí
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 NewClassT {
public NewClass() {
System.out.println(Zavolali jste mě s typem +
T.class.getName());
}
public static void
Ahoj,
protože typový parametr není za běhu k dispozici. Při překladu jej
překladač odstraní. Např.
class BoxT {
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:
] http://www.scala-lang.org/docu/files/ScalaReference.pdf
[3] http://www.scala-lang.org/docu/files/ScalaOverview.pdf
Omluvte anglicismy,
Petr Janata
From: Libor Jelinek ljeli...@virtage.com
To: Java konference@java.cz
Cc:
Subject: Generické typy a .class - Cannot select from a type variable
Date
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