我正在学习一些 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 等的顺序是什么...?(十进制值)
最佳答案
完整列表可能是 int、long、float、double、Integer、Number/Comparable/Serializable、Object。
注意:Number、Comparable 和 Serializable 是不明确的。需要显式转换才能选择其中之一。
关于java - JAVA中重载方法的调用顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19255774/