Unten ist meine Syntax
List synchronizedpubliesdList = Collections.synchronizedList(publiesdList);
Ich erhalte einen Syntaxfehler von:
List is a raw type. References to generic type List<E> should be parameterized.
Bitte schlagen Sie die Lösung vor.
Ich glaube das
Liste ist ein Rohtyp. Verweise auf den generischen Typ List sollten parametrisiert werden
ist kein Fehler, sondern eine Warnung.
Generics zu verstehen ist ein Eckpfeiler, wenn Sie Java einsetzen wollen. Ich schlage daher vor, Java-Tutorialseiten dazu zu lesen:
Wenn Sie also wissen, welche Art von Objekten in publiesdList
enthalten ist, können Sie Folgendes tun:
List<YourType> synchronizedpubliesdList = Collections.synchronizedList(publiesdList);
Wenn sich in der Liste mehrere Objekttypen befinden, können Sie einen Platzhalter verwenden:
List<?> synchronizedpubliesdList = Collections.synchronizedList(publiesdList);
Oder wenn Sie die Warnung einfach loswerden möchten, können Sie sie wie folgt unterdrücken:
@SuppressWarnings("rawtypes")
List synchronizedpubliesdList = Collections.synchronizedList(publiesdList);
letzteres wird jedoch nicht empfohlen.
Sie müssen ihm den richtigen generischen Typ geben, z.
List<String> publiesdList = ...
List<String> synchronizedpubliesdList = Collections.synchronizedList(publiesdList);
Sie können "öffentliche Liste" folgendermaßen definieren:
List<String> publiesdList = new List<String>();
Die Warnung verschwindet.
Ich hatte die gleichen Warnungen in Eclipse und klickte einfach auf das Warnzeichen und bekam die Option, ein Typargument zum Hash, zur Liste, zum Array oder zu Ihren eigenen hinzuzufügen. Große Diskussionsliste hier Was ist ein roher Typ und warum sollten wir ihn nicht verwenden?