У меня есть следующий тестовый класс, который использует generics для перегрузки метода. Он работает при компиляции с javac и не компилируется в Eclipse Helios. Моя версия java - 1.6.0_21.
Все прочитанные статьи показывают, что Eclipse прав, и этот код не должен работать. Однако при компиляции с javac и run выбран правильный метод.
Как это возможно?
Спасибо!
import java.util.ArrayList;
public class Test {
public static void main (String [] args) {
Test t = new Test();
ArrayList<String> ss = new ArrayList<String>();
ss.add("hello");
ss.add("world");
ArrayList<Integer> is = new ArrayList<Integer>();
is.add(1);
is.add(2);
System.out.println(t.getFirst(ss));
System.out.println(t.getFirst(is));
}
public String getFirst (ArrayList<String> ss) {
return ss.get(0);
}
public Integer getFirst (ArrayList<Integer> ss) {
return ss.get(0);
}
}