JAVA中重载方法的调用顺序

时间:2013-10-08 18:45:00

标签: java int literals overloading

我正在学习一些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等的顺序是什么??(十进制值)

1 个答案:

答案 0 :(得分:3)

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

注意:Number,Comparable和Serializable是不明确的。选择其中一个将需要一个明确的演员阵容。