我发现自己在检查这个并询问它是否必要。我的代码如下:
public Object myMethod(Object... many) {
if (many == null || many.length == 0)
return this;
for (Object one : many)
doSomethingWith(one);
return that;
}
但是我在想... 我是不是太谨慎了?我必须检查many == null
吗?在任何当前的Java版本中这可能发生吗?如果是,怎么办?如果不是,我可能会继续检查,只是为了防止以后Oracle决定它可以为空。
myMethod(null)
不会传递一个类似于new Object[]{null}
的数组吗? - Ky -null
可以通过强制类型转换 -(Object[]) null
显式地传递给可变参数方法,因此,在 Java 中传递null
是可能的,你的检查是有意义的。 - RomanMitasov