String参数是传值还是传递引用的测试

来源:互联网 发布:国内蜜月旅行 知乎 编辑:程序博客网 时间:2024/05/14 20:26

String参数是传值还是传递引用的测试 

   

还是把测试拿来说说吧。。

 

public class StringTest {

 public static void main(String[] args) {

 String str = "java";

 nochange(str, str);

 change(str, str);

 }

 

 public static void nochange(String str1,Stringstr2) {

 System.out.println("nochange--->>"+(str1 == str2));

 }

 

 public static void change(String str1,Stringstr2) {

 str1 = str1 + "";

 System.out.println("change--->>"+(str1 == str2));

 }

}

 

结果:

nochange--->>true

change--->>false

 

由此可以看出。String其实还是和其他引用类型一样。进行的是传递引用。

只是string只要对其加等操作的话,就相当于是重新new了一个string,只是没有显示调用new而已。。

其实这点也其他的引用类型还是一样的。。

总之,是传递的引用。

0 0