java判断list为空报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java判断list为空报错相关的知识,希望对你有一定的参考价值。

public class Appointment extends DataEntity<Appointment> private String orgId; // 所属店ID private String orgName; // 所属店 private String customerId; // 会员ID private List<AppointmentItem> appointmentItem;//appointmentItem是从表。 //getset省略不贴在这 } 然后 在方法里拿 List<Appointment> selectAppointment =appointmentService.todayAppointment(appointment); List<AppointmentItem> selectItem = null; for(int i = 0;i < selectAppointment.size(); i ++) if(selectAppointment.get(i).getAppointmentItem()!=null&&!selectAppointment.get(i).getAppointmentItem().isEmpty()) selectItem.addAll(selectAppointment.get(i).getAppointmentItem()); 问题1:为什么在if判断会报错? 问题2:怎样把selectAppointment 所有 List<AppointmentItem>取出放到selectItem

参考技术A foreach
时如果对象为空,会报空指针异常。另外,foreach一般都会用数组作为对象遍历,用list的很少见

java 判断list是否为空

问题:

之前用 list!=null 来判断list是否为空,但发现,定义一个list后,即使里面并没有加入任何元素,返回的结果仍旧是 true,

其实,本意是希望在没有任何元素时,返回 false,下面是关于判断逻辑的详细解析:

 

1、如果想判断list是否为空,可以这么判断:

if(list == null || list.size() ==0 )
  //为空的情况
else
  //不为空的情况

  

2、list.isEmpty() 和  list.size()==0  的区别

答案:没有区别 。isEmpty()判断有没有元素,而size()返回有几个元素, 如果判断一个集合有无元素 建议用isEmpty()方法.比较符合逻辑用法。

 

3、list!=null  跟  !list.isEmpty()有什么区别?

这就相当与,你要要到商店买东西

 list!=null         首先判断是否有商店

!list.isEmpty()     没有判断商店是否存在,而是判断商店是否有东西

总结用法:如果连商店都没有,何来的的东西可卖

所以一般的判断是:

if(list!=null && !list.isEmpty())
   //不为空的情况
else
   //为空的情况

  

参考:https://blog.csdn.net/jiang_c_y/article/details/79516838

 

以上是关于java判断list为空报错的主要内容,如果未能解决你的问题,请参考以下文章

datax日期为空报错

「React Native」子组件Render中props为空报错问题

java foreach 空list会不会报错?

js报错:为空或不是对象

java 判断list是否为空

java中判断list是否为空的用法