¿Es esta asignación de tipo sin procesar de tipo seguro? Lista <T> = new ArrayList ();
Tengo un código como este:
@SuppressWarnings({"unchecked", "rawtypes"})
List<String> theList = new ArrayList();
¿Es este tipo seguro? Creo que es seguro porque no asigno el tipo sin formato a otra cosa. Incluso puedo demostrar que realiza una verificación de tipo cuando llamoadd
:
theList.add(601); // compilation error
he leído"¿Qué es un tipo sin procesar y por qué no deberíamos usarlo?" pero no creo que se aplique aquí porque solocrear la lista con un tipo sin formato. Después de eso, lo asigno a un tipo parametrizado, entonces, ¿qué podría salir mal?
Además, ¿qué pasa con esto?
@SuppressWarnings({"unchecked", "rawtypes"})
List<String> anotherList = new ArrayList(theList);