我发现自己在检查这件事并询问是否有必要。我有这样的代码:
public Object myMethod(Object... many) {
if (many == null || many.length == 0)
return this;
for (Object one : many)
doSomethingWith(one);
return that;
}
但后来我想知道......我是否过于谨慎? 我是否必须检查是否many == null
?在任何当前的Java版本中都有可能吗?如果是这样,怎么样?如果没有,我可能会继续检查,只是为了防止以后甲骨文认为有一天它可以为空。
答案 0 :(得分:13)
我用Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0 on Linux 3.5.0-21-generic
使用myMethod(null)
未通过new Object[]{null}
,它会传递null
。 Arrays are objects in Java因此null
对Object[]
类型有效。
因此,您的nullcheck不会过于谨慎。