【发布时间】:2014-03-24 03:31:08
【问题描述】:
我在执行某个操作之前检查 null,但我遇到了一些问题。以下是代码:
if (c != null && c.size() != null) {
if (c.size() > 0) {
return (Application) c.toArray()[0];
}
我得到一个 'The operator != is undefined for the argument type(s)int, null' c.size() != null。我知道 size 方法的返回类型是整数,这就是我收到此错误的原因吗?希望有人可以建议。谢谢。
【问题讨论】:
-
错误没有告诉你一切吗?
-
int是原始类型,没有null这就是为什么抱怨这样的条件是不必要的。事实上,它不是对对象的引用,它不能为空。 -
c.size() 返回一个整数。您不能将 int(原始类型)与 null 进行比较。此外,内部 if(c.size()>0) 也是多余的,因为您已经在前面的 if 语句中完成了大小检查。
-
详细了解primitive datatype
.size永远不会返回null,int的默认值是0。所以你应该把null改成0
标签: java collections int