Java 为什么我不能将此对象添加到数组列表中?
您好,我有以下代码:Java 为什么我不能将此对象添加到数组列表中?,java,arrays,arraylist,Java,Arrays,Arraylist,您好,我有以下代码: java.util.Date date = new java.util.Date(); ArrayList<Worker> workerList = null; //Create Worker System.out.println ("You have selected create worker. \n" + "please enter a name for the worker.\n");
java.util.Date date = new java.util.Date();
ArrayList<Worker> workerList = null;
//Create Worker
System.out.println ("You have selected create worker. \n" + "please enter a name for the worker.\n");
//Create new worker object
scanner.nextLine();
String tName = scanner.nextLine();
Worker newWorker = new Worker (tName, date, 0);
workerList.add(newWorker);
wCurrent = newWorker;
但是它总是在workerList.add崩溃,我的错误在哪里?
Netbeans说“空指针差异”我不知道这是什么意思。。。请帮忙
编辑! 谢谢,修好了强> 只是另一个简单的问题 我也有
public String toString(){
return "The worker " + workerName + " has completed "+ jobsCompleted + " jobs";
}
但每次我调用toString方法时,它都会崩溃。这是在我创建对象之后。ArrayList workerList=null;
ArrayList<Worker> workerList = null;
您将其初始化为null。因此坠机。您需要正确初始化
ArrayList<Worker> workerList = new ArrayList<Worker>();
ArrayList workerList=新建ArrayList();
使用接口编程(而不是左侧的ArrayList,声明一个列表)更好
List workerList=new ArrayList();
您只需初始化列表即可。创建一个变量ArrayList workerList
,并用null
填充它。DoList workerList=new ArrayList()当声明或workerList=new ArrayList()时,用于正确初始化的代码>代码>如果您想在声明之后对其进行初始化,这通常很有用。您可以阅读以了解更多信息。您忘记将列表分配给列表实例:list workerList=new ArrayList()代码>你为什么不帮我,而不是说可能重复?你对任何人都没有好处@NamanGalaWe只是来帮忙的。这就是为什么我给了你们堆栈溢出的好东西,我想你们以前并没有提到过。它将澄清许多概念。你可以查看下面的人给出的答案!
ArrayList<Worker> workerList = new ArrayList<Worker>();
List<Worker> workerList = new ArrayList<Worker>();