java – 空指针异常,“尝试从空对象引用上的字段读取”
我正在创建一个应用程序,用户在其中键入任务列表,并将该列表保存到数组中.数组中的每个任务都是Assignment类的一个实例.但是,我意识到在java中,在创建数组之后无法向数组添加元素.所以,我做的是创建了一个名为tasks的数组,其中包含许多空值:Assignment [] tasks = {null,null,null}; .当我想向数组添加任务时,我只需用对象替换下一个空值.但是,我还需要一个只有任务的数组,没有空值.所以我为所有非空元素创建了一个名为full_tasks的数组:
所以现在,full_tasks数组应该是所有任务的数组,其中没有一个是null,对吧?但是,当我运行应用程序时,它无法启动活动,它说的错误是由空指针异常引起的:
错误指向的行是:
我仍然不完全确定null对象引用是什么,但我认为这意味着full_tasks数组中的一个元素为null.这是对的吗?如果是,我该怎么做才能确保full_tasks数组只是tasks数组中的非null元素? 非常感谢! 编辑:赋值类的构造函数是:
最佳答案
空引用就是null.在你的代码中,是tasks [i] .name,你尝试在任务[i]上调用name,所以tasks [i]为null.
我可以想到一个场景,你的代码肯定会抛出NullPointerException.
然后full_tasks的大小为4但是
因为任务[1]为空,我会在i == 1时抛出一个NPE. 因此,如果要仅使用非空任务填充full_tasks,请确保获得正确的任务索引. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |