首页 > 代码库 > String

String

 1 public class ch01 {
 2     String str = "lisi";
 3     public static void change(String str){
 4         System.out.println(str);
 5     }
 6     
 7     public static void main(String[] args) {
 8         ch01 c = new ch01();
 9         String str01 = "zhangsan";
10         change(str01);
11         System.out.println(c.str);
12     }
13 }

输出结果为:

zhangsan
lisi

分析:因为String是个特殊的final类,所以每次对String的更改都会重新创建内存地址并存储(也可能是在字符串常量池中创建内存地址并存入对应的字符串内容),但是因为这里String是作为参数传递的,在方法体内会产生新的字符串而不会对方法体外的字符串产生影响。

String