在一些代码片段中,我注意到该数组是通过将null
值强制转换为数组来初始化的,String
例如:
String[] array = (String[])null;
通常,null
用于初始化变量,例如字符串数组,例如:
String[] array = null;
什么时候或为什么应该将null值转换为字符串数组或类似的任何其他数据类型?
无需使用
String[] array = (String[]) null;
您可能需要使用(String[]) null
,如果你传递一个null
值的重载方法(即具有相同名称的多个方法之一),并且要接受一个方法String[]
由编译器来选择参数。
例如,如果您具有以下方法:
public void doSomething (Integer i) {}
public void doSomething (String s) {}
public void doSomething (String[] arr) {}
调用doSomething (null)
不会通过编译,因为编译器不知道选择哪种方法。
调用doSomething ((String[]) null)
将执行第三个方法。
当然,你可以分配null
到一个String[]
变量,并避免铸造:
String[] arr = null;
doSomething (arr);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句