Есть простенький код:
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
Container cont0 = new Container();
for(String s : cont0.getStrings()){
System.out.println(s);
}
}
}
class Container<T> {
public T getType(){
return null;
}
public List<String> getStrings(){
return Arrays.asList("1", "2", "str");
}
}
Компилируем.... и получаем
Main.java:6: incompatible types
found : java.lang.Object
required: java.lang.String
for(String s : cont0.getStrings()){
^
1 error
Это не бага, а фишка, только как эти **** которые такие фишки придумали объяснят свои затейства (в багтреккере наверняка это есть но непонятно как найти)?
ps. Пойти что ли в церковь микрософта и поставить черную свечку за тех кто реализовал генерики в яве?