今天在写代码时遇到这么一个问题:判断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不为空,但是里面元素显示为空,这是哪里的问题呢?
debug看了一下lactationRecordList2都为空呢,应该是无法加入到lactationRecordList,但是已经加入到lactationRecordList了
你的这个代码只是判断list不是null并且list中存在元素,并无法判断list中的元素是不是null,list中是可以存在为null的元素的。
你如果添加不为null的元素,你需要遍历list2,判断每一个元素不为null然后添加到新集合
这个只能保证 lactationRecordList2 不为空,且至少包含一个元素; 并不能判断其中的元素不是空的