Kan*_*rai 6 java null overloading type-conversion
我有以下代码
import java.util.List;
public class Sample {
public static void main(String[] args) {
test(null);
}
static void test(List<Object> a){
System.out.println("List of Object");
}
static void test(Object a){
System.out.println("Object");
}
}
Run Code Online (Sandbox Code Playgroud)
我在控制台中得到了以下输出
List of Object
Run Code Online (Sandbox Code Playgroud)
为什么不拨打电话test(Object a)?你能解释一下"List as"是null怎么解释的吗?
简而言之,选择了重载中最具体的方法.
在这种情况下,最具体的方法是采用的方法,List<Object>因为它是一个子类型Object.
Java用于选择重载方法的确切算法非常复杂.有关详细信息,请参阅Java语言规范部分15.12.2.5.
| 归档时间: |
|
| 查看次数: |
63 次 |
| 最近记录: |