【已解决】list.size() = 1 但显示 All elements are null
背景:
使用mybatis
中的聚合函数(max()
、avg()
)查询SQL语句,返回结果装入List
集合
使用了以下方法判断空值:
if (CollectionUtils.isNotEmpty(list)) {
return xxx;
}
结果是,无论是否数据库中是否有值, 返回都不为空。
进一步debug发现, list.size() = 1
,但List中值为空, 显示All elements are null
问题原因:
使用了MySQL中的聚合函数,分别是求和函数SUM()、求平均函数AVG()、最大值函数MAX()、最小值函数MIN()和计数函数COUNT, 进而导致出现size = 1,但结果为空的情况, 具体原因不明, 后续更新。。
解决办法:
使用如下方法判空
if (CollectionUtils.isNotEmpty(list) && list.get(0) != null) {
return xxx;
}