给出以下代码:
public class Clazz {
private static String foo(Integer value) {
return "Integer";
}
private static String foo(float value) {
return "float";
}
public static void main(String[] args) {
System.out.println(foo(10));
System.out.println(foo(10f));
}
}
为什么要打印这个?
float
float
我期望以下输出:
Integer
float
最佳答案
整数不像 float 那样是基元。
要得到你想要的,你应该使用:
System.out.println(foo(new Integer(10)));
关于java - 为什么 Java 在重载方法时会有这样的行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50158737/