有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java编译错误:类型列表不能为泛型

我是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) 个答案

  1. # 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>;
    
  2. # 2 楼答案

    看起来你忘了圆括号

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

    即使它是泛型的-也必须使用带\不带参数的常规构造函数

  3. # 3 楼答案

    您正在导入错误的List。请尝试以下操作*:

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

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

    注意^{}而不是泛型的,这就是为什么会出现错误

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

    List<String> list = new ArrayList<>();
    
  4. # 4 楼答案

    改变

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

    List<String> list = new ArrayList<String>(); 
    
  5. # 5 楼答案

    列表定义是错误的。它应该如下所示:

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

    put()用于创建对象