随笔37 java中的值传递与引用传递

1.java中引用类型的实参向形参的传递,只是传递的引用,而不是传递的对象本身。
 1 public class Tester{
 2 public static void main(String[] args){
 3    Integer var1=new Integer(1);
 4    Integer var2=var1;
 5    doSomething(var2);
 6    System.out.print(var1.intValue());
 7    System.out.print(var1==var2);
 8 }
 9 public static void doSomething(Integer integer){
10     integer=new Integer(2);
11     }
12 }
1、java语言参数之间只有值传递,包括按值调用和按引用调用。 一个方法可以修改传递引用所对应的变量值,而不能修改传递值调用所对应的变量值。
按值调用:包括八大基本数据类型都是按值调用。传值的时候,也就是说方法得到的是所有参数值的一个拷贝
按引用调用:数组、对象。传值时候,传递的是引用地址的拷贝,但是都是指向同一个对象。
2、String是不可变类(final and Immutable),是按值调用,这里只是把副本的指向修改成指向“test ok”,原地址str的指向的值没有发生改变。
 
原文地址:https://www.cnblogs.com/lyr612556/p/7837930.html