Я не могу удалить свои предупреждения с помощью непроверенного перевода. Я считаю, что это очень странно, потому что я добавил аннотацию @SuppressWarnings("unchecked")
к методу, но Javac все еще показывает предупреждения.Непроверенные предупреждения не удаляются с помощью аннотации Javac @SuppressWarnings
[unchecked] unchecked cast (List<Integer>) getObject(LIST);
return (List<Integer>) getObject(LIST);
required: List<Integer>
found: Object
Я создал пример, он выдает 2 предупреждения. Я использую обновление Oracle JDK 1.7 79.
package strange;
import java.util.List;
public class Strange implements Constants {
//Throw Warning
@SuppressWarnings("unchecked")
protected List<Integer> getList() {
return (List<Integer>) getObject(LIST);
}
@SuppressWarnings("unchecked")
protected List<Integer> getList2() {
return (List<Integer>) getObject(LIST);
}
//Throw Warning
@SuppressWarnings("unchecked")
protected List<Integer> getOtherList() {
return (List<Integer>) getObject(OTHER);
}
protected Object getObject(String key) {
return new Object();
}
}
interface Constants {
public static final String LIST = "list";
public static final String OTHER = "other";
}
Спасибо.
Вы можете сделать свой титул более описательный? –
Какой у вас JDK? – kolossus
@kolossus, он говорит 1.7u79 от Oracle в вопросе. – aioobe