运行 Java 程序时出错



我试图将数组转换为列表,反之亦然,并使用以下代码分别执行数组和列表的不同方法。

import java.util.*;
public class LinkedList{
    public static void main(String[] args){
        String[] things1 = {" seminar", " presentations", " hackathon", " movies"};
        LinkedList<String> theList = new LinkedList<String>(Arrays.asList(things1));
        theList.add("tickets");
        theList.addFirst("Hellow");
        things1 = theList.toArray(new String[theList.size()]);
        for(String x: things1)
            System.out.printf("%s", x);
    }
}

现在,问题是当我从 NetBeans 运行它时它可以正常工作,但是当我在普通文本编辑器中尝试它并通过终端运行时,它会给出一个错误:

LinkedList.java:10: error: type LinkedList does not take parameters
LinkedList<String> theList = new LinkedList<String>(Arrays.asList(things1));
          ^
LinkedList.java:10: error: type LinkedList does not take parameters
LinkedList<String> theList = new LinkedList<String>(Arrays.asList(things1));
                                           ^
2 errors

我认为列表应该采用参数,但错误完全相反。

为什么会这样?

你导入

java.util.*

而且由于标准库中有一个java.util.LinkedList,NetBeans 似乎会选择那个,而 JDK 中的javac使用您自己的LinkedList,该不接受参数(例如LinkedList<String中的String)。要解决此问题,您可以执行以下操作之一

  • 重命名您的班级
  • 无论您在哪里使用LinkedList,您都可以输入全名,例如com.myproject.LinkedListjava.util.LinkedList,以明确您想要哪一个(将com.myproject替换为您自己的链表所在的实际包)

相关内容

  • 没有找到相关文章

最新更新