Hug*_*ina 7 java int overloading literals
我正在学习一些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
Run Code Online (Sandbox Code Playgroud)
解释描述了对于整数文字,JVM按以下顺序匹配:int,long,Integer.由于没有使用int类型参数的方法,因此查找long类型; 等等.
在这个解释中,它们只提供int,long和Integer的顺序.所以我的问题是:在为每种类型(使用整数)重载的方法中引入整数文字时,完整的顺序列表是什么?
另外,float,double等的顺序是什么......?(十进制值)
完整的列表可能是 int、long、float、double、Integer、Number/Comparable/Serializable、Object。
注意:Number、Comparable 和 Serialized 是不明确的。需要明确的演员阵容来选择其中之一。