192.168.1.57_20200909-湛良通
问题
已解决
public class ClassTest{
String str = new String("hello");
char[] ch = {'a','b','c'};
public void fun(String str, char ch[]){
str="world";
ch[0]='d';
}
public static void main(String[] args) {
ClassTest test1 = new ClassTest();
test1.fun(test1.str,test1.ch);
System.out.print(test1.str + " and ");
System.out.print(test1.ch);
}
}
输出结果
hello and dbc
先成员变量str
的地址复制给 fun方法栈帧中的 str , 在 fun方法栈帧中的 str 又指向了 world ,
但方法中的 str 与 成员变量 str
无关,所以fun执行完后 成员变量的 str
指向 hello 不变
先把成员变量 ch
的地址复制给 fun方法栈帧中的 ch , 在 fun方法栈帧中的 ch 根据地址 找到数组
并将数组中 的 ch[ 0 ] 的值改了,而他们指向的是同一个数组 , 所以成员变量 ch
指向的数组变了
吐槽
今天上map集合,关于map集合如何存储数据 ,今天终于是大致了解了。
点赞