【问题标题】:Overloading with Short and int用 Short 和 int 重载
【发布时间】:2012-04-07 02:09:57
【问题描述】:

为什么这段代码会打印 int?

public static void main(String[] args) {
    short s = 5;
    A(s);
}
public static void A(int a){
    System.out.println("int");
}

public static void A(Short a){
    System.out.println("short");
}

【问题讨论】:

  • 任何课程都适合。第一个 - 短,第二个 - 短。

标签: java


【解决方案1】:

因为向上转换为 int 是在 Java 1.0 版中,而自动装箱是在 5.0 版中添加的。更改行为会破坏为旧版 Java 编写的代码。

但是,像这样混合类型表明您的设计存在问题,这是您在益智游戏中唯一能找到的。 ;)

【讨论】:

  • 这是我同事的问题,他正在准备认证。
  • 如果有面试问题,我建议你不要那样写代码,因为它令人困惑。 ;)
【解决方案2】:

因为加宽胜过拳击

原因:

因为在后来引入拳击的地方很久以前就已经有了扩展,所以不要破坏它这样做的任何代码。

【讨论】:

  • 加宽节拍 var arg
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-13
  • 1970-01-01
  • 2012-09-14
  • 2015-10-21
  • 2011-10-05
相关资源
最近更新 更多