已解决list.size() = 1 但显示 All elements are null

Posted 来老铁干了这碗代码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了已解决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;

以上是关于已解决list.size() = 1 但显示 All elements are null的主要内容,如果未能解决你的问题,请参考以下文章

已解决list.size() = 1 但显示 All elements are null

已解决list.size() = 1 但显示 All elements are null

java中list的值是[null] 而不是 null ,结果集其实是空的,但是返回的却是[null],size=1,这如何判断

如何在 JSF EL 中显示 List#size() 的值?

wifi显示已连接但无法访问互联网是怎么回事

Java 中list==null与list.size( )==0的区别