java中的值传递与引用传递的区别

值传递:形参的改变不能影响实参的值

引用传递:通过地址值改变形参,完成对实参(数组或对象)的改变

代码如下:

String s1 = "abc";  //在常量池中创建对象

String s2 = "abc"; //s1指向常量池中abc

String s3 = new String("abc"); //创建两个对象 可以通过地址值 abc
s3=s1+s2;//abcabc 重新创建对象


StringBuffer s4 = new StringBuffer("def");
s4 = s4.append(s1);


System.out.println("s1:"+s1); //abc
System.out.println("s2:"+s2); //abc
System.out.println("s3:"+s3); //abcabc
System.out.println("s4:"+s4); //defabc

原文地址:https://www.cnblogs.com/javaWHL/p/10592235.html