java引用传递,值传递
Posted James
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java引用传递,值传递相关的知识,希望对你有一定的参考价值。
2个interger的引用对象传给一个swap方法在方法内部进行交换,返回后
1.1 java中方法参数传值方式
java中方法传参数都是值传递的,只不过根据参数的类型是引用类型还是非引用类型
引用类型传递的是该类型的地址
非引用类型传递的是该变量的副本
1.2 Integer 源代码存在 一个int value变量中
1.5 可以通过反射变量来改private final 变量
public static void swap(Integer i1, Integer i2){
Field field = Integer.class.getDeclaredField("value");
field.setAccessible(true);
//int temp = i1.intvalue(); //指向同一份内存地址
Interge temp = new(i1.intvalue());
field.set(i1,i2.intValue());
field.set(i2,temp);
}
1.3 Integer -128到127之间的数会放入缓存,取这些数是从缓存取的
1.4 自动装箱和拆箱
以上是关于java引用传递,值传递的主要内容,如果未能解决你的问题,请参考以下文章