运行Java程序时出错

Rah*_*ngh -2 java arrays linked-list

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

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,问题是,当我从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
Run Code Online (Sandbox Code Playgroud)

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

为什么会这样?

Sim*_*mon 5

你导入

java.util.*
Run Code Online (Sandbox Code Playgroud)

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

  • 重命名你的班级
  • 无论你在哪里使用a,LinkedList你都要输入诸如com.myproject.LinkedList或之类的全名java.util.LinkedList来明确你想要的com.myproject那个(用你自己的链表所在的实际包替换)