我试图将数组转换为列表,反之亦然,并使用以下代码分别执行数组和列表的不同方法。
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.LinkedList
或java.util.LinkedList
,以明确您想要哪一个(将com.myproject
替换为您自己的链表所在的实际包)