Employee employee = new Employee(),此时employee对象不等于空;
若Employee employee = null,则employee对象为空。
仅new ArrayList,未add数据,则集合为空。
代码如下:
public static void main(String[] args) {
Employee e1 = new Employee();
Employee e2 = null;
List<Employee> employeeList1 = new ArrayList<>();
List<Employee> employeeList2 = new ArrayList<>();
employeeList2.add(e2);
// e1:new了一个对象,没有set值,那么这个对象是否为空呢?
System.out.println(ObjectUtil.isEmpty(e1));// false
// e2:赋值为null,是否为空?
System.out.println(ObjectUtil.isEmpty(e2));// true
// 只new ArrayList,是否为空呢
System.out.println(ObjectUtil.isEmpty(employeeList1));// true
// new ArrayList,add一个null对象,是否为空
System.out.println(ObjectUtil.isEmpty(employeeList2));// false
employeeList2.add(e1);
// new ArrayList,add一个不为null的对象,是否为空
System.out.println(ObjectUtil.isEmpty(employeeList2));//false
System.out.println(employeeList2.get(0).getId());// 空指针异常
}
employeeList2两条数据,index0 = null;index1=employee1;
employeeList2.get(0)为null,当对象为null时,get属性就会报空指针异常
集合为null时,用lamdba表达式,也会报空指针异常