Ist diese Rohtypzuordnung typsicher? List <T> = new ArrayList ();
Ich habe einen Code wie diesen:
@SuppressWarnings({"unchecked", "rawtypes"})
List<String> theList = new ArrayList();
Ist das typsicher? Ich halte es für sicher, weil ich den rohen Typ keinem anderen Typ zuordne. Ich kann sogar demonstrieren, dass es eine Typprüfung durchführt, wenn ich anrufeadd
:
theList.add(601); // compilation error
ich habe gelesen"Was ist ein roher Typ und warum sollten wir ihn nicht verwenden?" aber ich denke nicht, dass es hier gilt, weil ich nurerstellen die Liste mit einem rohen Typ. Danach ordne ich es einem parametrisierten Typ zu. Was könnte also schief gehen?
Und was ist damit?
@SuppressWarnings({"unchecked", "rawtypes"})
List<String> anotherList = new ArrayList(theList);