Java-java list问题
private List<String> infos;
public List<String> getMergerArr(String[] infosContent, String[] infosTitle) {
for(int i=0;i<infosContent.length;i++){
**infos.add(infosContent[i]);**这一行报错了,(java.lang.NullPointerException)
}
for(int i=0;i<infosTitle.length;i++){
if(infos.indexOf(infosTitle[i])==-1){
infos.add(infosTitle[i]);
}
}
return infos;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果进入循环后第一次执行到list.add()方法就报空指针异常,那肯定是list没有被初始化,如果是执行几次后出现空指针异常说明是infosContent[i]值为空,这两种可能中的一种
你应该是没有初始化infos对象!在内存中没有该对象就直接加入,肯定会报NoPointException异常。你可以检查确认在getMergerArr()方法调用之前,infos对象已经被创建出来。
如果没有创建的话,在infos.add(infosContent[i]);这行代码之前添加
infos = new ArrayList<String>();
private List<String> infos;
这里没有初始化infos,只是声明了一个对象并没有初始化,等同于:
private List<String> infos = null;
所以在调用add时会抛出NullPointerException。
正确的用法:
private List<String> infos = new ArrayList();
JDK: java.util.List
NullPointerException - 如果指定的元素为 null,并且此列表不允许 null 元素
是infosContent[i]这个元素是NULL