列表是原始类型.应参数化对泛型类型List <E>的引用

Sac*_*ngh 13 java generics types

以下是我的语法

List synchronizedpubliesdList = Collections.synchronizedList(publiesdList);
Run Code Online (Sandbox Code Playgroud)

我收到的语法错误:

List is a raw type. References to generic type List<E> should be parameterized.

请建议解决方案.

Ada*_*old 33

我相信

列表是原始类型.应参数化对泛型类型List的引用

不是错误,而是警告.

如果你打算使用Java,理解泛型是一个基石,所以我建议你查看java的教程页面:

java泛型教程

因此,如果您知道包含哪种类型的对象publiesdList,那么您可以这样做:

List<YourType> synchronizedpubliesdList = Collections.synchronizedList(publiesdList);
Run Code Online (Sandbox Code Playgroud)

如果列表中有多种类型的对象,则可以使用通配符:

List<?> synchronizedpubliesdList = Collections.synchronizedList(publiesdList);
Run Code Online (Sandbox Code Playgroud)

或者,如果你只想摆脱警告,你可以像这样压制它:

@SuppressWarnings("rawtypes")
List synchronizedpubliesdList = Collections.synchronizedList(publiesdList);
Run Code Online (Sandbox Code Playgroud)

但不建议使用后者.


Pet*_*rey 7

你需要给它正确的泛型类型,例如

List<String> publiesdList = ...
List<String> synchronizedpubliesdList = Collections.synchronizedList(publiesdList);
Run Code Online (Sandbox Code Playgroud)