只是想知道为什么可以将Integer作为参数传递,其中method参数是int类型,反之亦然?
public class Salmon {
public static Integer foo(Integer a, int b){
return a - b;
}
public static void main(String[] args) {
Integer a = 10;
int b = 1;
foo(b, a);
}
}
Run Code Online (Sandbox Code Playgroud)
这是自动装箱和自动拆箱.基本上编译器会调用Integer.valueOf()或x.intValue()适当地调用.
实际上没有指定确切的机制,但规范的相关部分是5.1.7和5.1.8.
| 归档时间: |
|
| 查看次数: |
3451 次 |
| 最近记录: |