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