编译错误:类型列表不能是通用的

时间:2016-06-21 08:28:40

标签: java generics

我是Java编程的新手,我尝试了一个示例程序,源代码来自here

List<String> list = new ArrayList<String>(); // Compile time error

String string1 = "a string";
list.add(string1);

String string2 = list.get(0);

获取编译时错误

Error Description:- The type List is not generic; it cannot be parameterized with arguments <String>

我不确定这个错误。谁能解释一下?

5 个答案:

答案 0 :(得分:7)

您导入错误的List。请尝试以下 *

java.util.List<String> list = new java.util.ArrayList<String>();

如果有效,只需将List导入替换为java.util

请注意,java.awt.List 不是泛型,这就是您收到错误的原因。

* 如果您使用的是Java 7+,则可以使用diamond

List<String> list = new ArrayList<>();

答案 1 :(得分:1)

更改

List<String> list = new ArrayList<String>; 

List<String> list = new ArrayList<String>(); 

答案 2 :(得分:0)

列表定义错误。它应该如下 -

List<String> list = new ArrayList<String>();

使用Putting()可以创建对象。

答案 3 :(得分:-1)

您可以尝试:

List<String> list = new ArrayList<String>(); // Compile time error

String string1 = "a string";
list.add(string1);

String string2 = list.get(0);

因为它必须是:

List<String> list = new ArrayList<String>();

不是

List<String> list = new ArrayList<String>;

答案 4 :(得分:-1)

看起来你忘记了圆括号

List<String> list = new ArrayList<String>();

即使它是通用的 - 你必须使用通常的构造函数和\ without parameters。