很多初学者是问java里的对象传递是"值传递"还是"引用传递"的问题?其实代码写多了,一般不会纠结这个事情了。
直接写一个代码验证吧:
@Test
public void test(){
Integer integer=new Integer(3);
change(integer);
if(integer==3){
System.out.println("pass by value");
}else if(integer==2){
System.out.println("pass by reference");
}
}
private void change(Integer integer){
integer=new Integer(2);
}
结果是"pass by value"。如果是引用传递,在调用change方法后,integer应该被改变成2,输出的结果应该是"pass by reference"才对。