字符串变量null是否指向空?
空引用可以转换为任何类类型的表达式。因此,对于String
,这很好:
String x = null;
String
选择此处的重载是因为Java编译器根据JLS的15.12.2.5节选择了最具体的重载。尤其是:
非正式的直觉是,如果第一个方法处理的任何调用都可以传递给另一个方法而没有编译时类型错误,则一个方法比另一个方法更具体。
在第二种情况下,这两种方法仍然适用,但是两者String
都不StringBuffer
比另一个更具体,因此这两个方法都不比另一个更具体,因此会出现编译器错误。