package src.com.zhang.StringTest;
char[] arr={'1','2','3'};
public void change(String str,char[] arr){
public static void main(String[] args) {
Important important=new Important();
important.change(important.str,important.arr);
System.out.println(important.str);//结果还是test1,之所以传递了str的地址值到change函数里面,也没有改变str的值,
// 就是因为String类型具有不可变行,当使用str的地址重新赋值时,不改变地址,而去改变字符串的内容是行不通的
System.out.println(important.arr);//结果是423,之所以arr发生了改变,就是因为arr数组并不具有不可变性
package src.com.zhang.StringTest;
public class Important {
String str="test1";
char[] arr={'1','2','3'};
public void change(String str,char[] arr){
str="test2";
arr[0]='4';
}
public static void main(String[] args) {
Important important=new Important();
important.change(important.str,important.arr);
System.out.println(important.str);//结果还是test1,之所以传递了str的地址值到change函数里面,也没有改变str的值,
// 就是因为String类型具有不可变行,当使用str的地址重新赋值时,不改变地址,而去改变字符串的内容是行不通的
System.out.println(important.arr);//结果是423,之所以arr发生了改变,就是因为arr数组并不具有不可变性
}
}