Я перешел на новую машину с последним компилятором Sun Java и заметил некоторые предупреждения в существующем коде Java 6. Eclipse IDE предложила аннотировать назначение с помощью:
@SuppressWarnings("rawtypes")
Например:
class Foo<T> {
...
}
...
@SuppressWarnings("rawtypes")
Foo foo = new Foo();
Когда я вернулся к машине со старым компилятором (JDK 1.6.0_20), я заметил, что этот старый компилятор теперь предупреждает о подавлении предупреждений "rawtypes", утверждая, что это подавление не поддерживается и предлагает заменить его с @SuppressWarnings ( "unchecked" ). Кроме того, были некоторые места, которые, по умолчанию, самый новый компилятор заставили меня поместить как "непроверенные", так и "rawtypes" - компиляция этого кода со старым компилятором воспроизводит то же предупреждение.
Как я могу обеспечить совместимость между ними и обратно, чтобы ни один компилятор не выдавал предупреждения?