7

我正在研究一些java考试,我遇到了这个问题:

//Write the output of this program:

public static void method(Integer i) { System.out.println("Integer"); }
public static void method(short i) { System.out.println("short"); }
public static void method(long i) { System.out.println("long"); }
//...
public static void main(String []args) {
method(10);
}

//ANSWER: long

解释描述了对于整数文字,JVM 按以下顺序匹配:int、long、Integer。既然没有带int类型参数的方法,那么就找long类型;等等。

在此解释中,它们仅提供 int、long 和 Integer 的顺序。所以我的问题是:当在为每种类型(使用整数)重载的方法中引入整数文字时,完整的顺序列表是什么?

另外,float、double 等的顺序是什么?(十进制值)

4

1 回答 1

3

完整列表可能是 int、long、float、double、Integer、Number/Comparable/Serializable、Object。

注意:Number、Comparable 和 Serializable 是不明确的。需要一个明确的演员来选择其中一个。

于 2013-10-08T18:46:32.423 回答