如何判断list中对象是否为空

今天在写代码时遇到这么一个问题:判断list是否为空,list.size为1 ,但是这个list中的对象都为空,于是我这么写:

         List lactationRecordList2 = lactationRecordMapper.selectScaleList(userId, equipmentId, productValue, endTime);
        System.out.println(lactationRecordList2);
        System.out.println(lactationRecordList2 != null);
        System.out.println(lactationRecordList2.isEmpty());
        if(lactationRecordList2 != null && !lactationRecordList2.isEmpty()){
            lactationRecordList.addAll(lactationRecordList2);
        }

运行代码时,lactationRecordList2 中只有一条数据,所有对象为空,打印的结果如下图,证明lactationRecordList2不为空,但是里面元素显示为空,这是哪里的问题呢?

img

img

debug看了一下lactationRecordList2都为空呢,应该是无法加入到lactationRecordList,但是已经加入到lactationRecordList了

img


这是哪里出问题了?

你的这个代码只是判断list不是null并且list中存在元素,并无法判断list中的元素是不是null,list中是可以存在为null的元素的。
你如果添加不为null的元素,你需要遍历list2,判断每一个元素不为null然后添加到新集合

这个只能保证 lactationRecordList2 不为空,且至少包含一个元素; 并不能判断其中的元素不是空的

img