为什么我要在java中使用null(String [])null?

时间:2017-01-24 08:32:01

标签: java

在某些片段中,我注意到通过将for ppa in $(fgrep -l ondrej /etc/apt/sources.list.d/*); do mv -i "$ppa" "${ppa}.disabled"; done; apt-get update 值转换为null数组来初始化数组,如:

String

通常,String[] array = (String[])null; 用于初始化变量,例如一串字符串,如:

null

何时或为什么要将空值转换为字符串数组或任何其他类似的数据类型?

1 个答案:

答案 0 :(得分:13)

无需使用

String[] array = (String[]) null;

如果将(String[]) null值传递给重载方法(即多个具有相同名称的方法之一),并且您希望接受{{1}的方法,则可能必须使用null }参数由编译器选择。

例如,如果您有以下方法:

String[]

调用public void doSomething (Integer i) {} public void doSomething (String s) {} public void doSomething (String[] arr) {} 不会通过编译,因为编译器不知道选择哪种方法。

调用doSomething (null)将执行第3种方法。

当然,您可以将doSomething ((String[]) null)分配给null变量,并避免投射:

String[]