Обобщения Java компилируются в Eclipse, но не в javac
Я должен был обнаружить, что у меня есть Java-код в моем проекте, который компилируется и прекрасно работает в Eclipse, но выдает ошибку компиляции в javac.
Автономный фрагмент:
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Set setOfInts = new HashSet();
Set setOfObjects = covariantSet(setOfInts);
}
public static Set covariantSet(Set set) {
return new HashSet(set);
}
}
Компиляция в javac возвращает:
Main.java:10: incompatible types
found : java.util.Set
required: java.util.Set
Set setOfObjects = covariantSet(setOfInts);
^
Эта ошибка теперь не позволяет построить проект в Maven. Поскольку компилятор Eclipse построен так, чтобы быть более терпимым, я теперь должен предположить, что определение и использование фрагментов, как указано выше, статический метод не является допустимым Java?