Является ли это необработанное назначение типа безопасным? 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);

Ответы на вопрос(1)

Ваш ответ на вопрос