有什么可以通过类型转换为null来表示String ref type?
String s = null;
String t = (String) null;
两者都做同样的事情。
sysout(s)
显示null
sysout((String)null)
显示null
答案 0 :(得分:10)
假设您有重载的方法接受一个参数,并且您想调用其中一个并将null传递给它。
getInt : IntOrString -> String
getInt intOrString =
case intOrString of
MyString s ->
s
MyInt i ->
toString i
如果您拨打电话
public void method1 (String param) {}
public void method1 (StringBuilder param) {}
代码不会通过编译,因为两个方法都接受method1 (null);
引用,并且编译器在两个重载之间没有首选项。
如果你打电话
null
将调用第一个方法。
如果你打电话
method1 ((String) null);
将调用第二种方法。