方法重载空参数

方法重载空参数

我添加了三种具有参数的方法:

public static  void doSomething(Object obj) {
    System.out.println("Object called");}public static  void doSomething(char[] obj) {
    System.out.println("Array called");}public static  void doSomething(Integer obj) {
    System.out.println("Integer called");}

当我打电话的时候doSomething(null),则编译器抛出错误为模糊方法..问题也是如此,因为Integerchar[]方法或IntegerObject方法?


炎炎设计
浏览 534回答 3
3回答

慕码人8056858

当使用null争论。因为每个参数类型都是引用类型。下面是使用NULL调用特定方法的三种方法。doSomething( (Object) null);doSomething( (Integer) null);doSomething( (char[]) null);如果您真的打算将这些方法称为null争论。这样的设计在将来会招致错误。

达令说

null是这三种类型中任何一种的有效值;因此编译器无法决定使用哪个函数。使用类似的东西doSomething((Object)null)或doSomething((Integer)null)相反。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java