【已解决】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;
}