运行Java程序时出错

时间:2016-02-01 14:13:34

标签: 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);
    }
}

现在,问题在于,当我从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

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

为什么会这样?

1 个答案:

答案 0 :(得分:5)

您导入

java.util.*

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

  • 重命名您的课程
  • 只要您使用com.myproject.LinkedList,就可以使用java.util.LinkedListcom.myproject等全名来明确您想要的名称(将try { Member member = database.Members.Where(m=>m.ID=1).FirstOrDefault(); member.Name = "NewMemberName"; database.Entry(member).State = EntityState.Modified; database.SaveChanges(); } catch (Exception ex) { database.Logs.Add(new Log() { Value=ex.ToString() }); database.SaveChanges(); } 替换为实际的您自己的链接列表在)