Является ли это необработанное назначение типа безопасным? List <T> = new ArrayList ();

У меня есть такой код:

@SuppressWarnings({"unchecked", "rawtypes"})
List<String> theList = new ArrayList();

Этот тип безопасен? Я думаю, что это безопасно, потому что я не назначаю необработанный тип чему-либо еще. Я даже могу продемонстрировать, что он выполняет проверку типа, когда я звонюadd:

theList.add(601); // compilation error

я прочитал«Что такое сырой тип и почему мы не должны его использовать?»&nbsp;но я не думаю, что это применимо здесь, потому что я толькоСоздайте&nbsp;список с необработанным типом. После этого я назначаю его параметризованному типу, так что может пойти не так?

Кроме того, что по этому поводу?

@SuppressWarnings({"unchecked", "rawtypes"})
List<String> anotherList = new ArrayList(theList);