【问题标题】:About NullPointer Exception in Arraylist关于 Arraylist 中的 NullPointer 异常
【发布时间】:2013-06-22 01:14:45
【问题描述】:
List<PrcSubList> listSl = new ArrayList<PrcSubList>();

if (listSl == null || listSl.size() == 0) {
     PrcSubList subListAdd=coreService.addSubListByAddAlert(childSub);

     System.out.println("sublist after insert db :" + subListAdd.getName());

     listSl.add(subListAdd);

     System.out.println(listSl.size() +" sublist after insert list:" + listSl.get(0).getName());

}

输出第一个 System.out.println("插入数据库后的子列表:" + subListAdd.getName());

插入数据库后的子列表:SYSTEM_ALERT_12312313

问题

但我有第二个 NullPointerException

System.out.println(listSl.size() +" sublist after insert list:" + listSl.get(0).getName());

你能帮帮我吗!

【问题讨论】:

  • 您的subListAdd 必须为空。
  • 你的代码中只有两个相关的对象,listS1subListAdd,它们都不能是null,否则你会很快得到一个NPE。这是你所有的代码吗?你能打印这两个对象吗?
  • 如需尽快获得更好的帮助,请发帖SSCCE

标签: java swing arraylist nullpointerexception runtime-error


【解决方案1】:

您的subListAddnull

检查此代码:

PrcSubList subListAdd=coreService.addSubListByAddAlert(childSub);

当您尝试获取该元素的名称时会引发错误,而该元素的名称似乎是null

listSl.get(0).getName()
         ^
         calling getName() on null objects throws you that exception

另外,这行有问题:

if (listSl == null || listSl.size() == 0) {

== null 不需要检查,因为您实例化了上面的列表。此外,由于相同的原因,大小等于零。

【讨论】:

  • 如果subListAddnullsubListAdd.getName()怎么可能不是NPE
  • 嗨@darijan 结果 subListAdd 在我的代码中不为空,因为 System.out.println("sublist after insert db :" + subListAdd.getName());插入数据库后返回子列表:SYSTEM_ALERT_12312313!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-16
  • 1970-01-01
  • 1970-01-01
  • 2014-01-31
  • 2011-09-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多