Является ли это необработанное назначение типа безопасным? List <T> = new ArrayList ();
У меня есть такой код:
@SuppressWarnings({"unchecked", "rawtypes"})
List<String> theList = new ArrayList();
Этот тип безопасен? Я думаю, что это безопасно, потому что я не назначаю необработанный тип чему-либо еще. Я даже могу продемонстрировать, что он выполняет проверку типа, когда я звонюadd
:
theList.add(601); // compilation error
я прочитал«Что такое сырой тип и почему мы не должны его использовать?» но я не думаю, что это применимо здесь, потому что я толькоСоздайте список с необработанным типом. После этого я назначаю его параметризованному типу, так что может пойти не так?
Кроме того, что по этому поводу?
@SuppressWarnings({"unchecked", "rawtypes"})
List<String> anotherList = new ArrayList(theList);