为什么三元运算符因类型不匹配错误而失败?

时间:2014-09-12 01:11:19

标签: java conditional type-inference ternary-operator

我有以下简单的代码:

List<XXXXBean> queryPeriodData()
{
    if (CollectionUtils.isEmpty(res))
    {
        return Collections.emptyList();
    }

    return res;
}

有效。

但是如果我改为这个,就会出现编译错误......

return CollectionUtils.isEmpty(res) ? Collections.emptyList() : res;

错误消息是 “类型不匹配:无法从List&lt; capture#1-of?extends Object&gt;转换为List&lt; XXXXBean&gt;”

我不知道两种方式之间的区别。

1 个答案:

答案 0 :(得分:0)

在语句

中尝试Collections.<XXXXBean>emptyList()