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

来源:互联网 发布:nginx 新增模块 编辑:程序博客网 时间:2024/06/09 04:37

经常会听同行说,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,String str2) {  System.out.println("nochange--->>"+(str1 == str2)); }  public static void change(String str1,String str2) {  str1 = str1 + "";  System.out.println("change--->>"+(str1 == str2)); }}

结果:nochange--->>truechange--->>false


由此可以看出:String其实还是和其他引用类型一样,进行的是传递引用,只是string只要对其加等操作的话,就相当于是重新new了一个string,只是没有显示调用new而已。。


原文转载于 http://blog.163.com/java_boy@126/blog/static/11766367520100125146471/
1 0
原创粉丝点击