public class Test {
String a=new String("1");
char [] c={'1','2','3'};
public static void main(String[] args) {
Test t=new Test();
t.show(t.a,t.c);
System.out.print(t.a);
System.out.print(t.c[0]);
}
public void show(String a,char c[]){
a="2";
c[0]='g';
}
}这写代码 为什么输出的是 1和g 而不是 2和g? String 在JAVA中到底属于什么数据类型啊
String a=new String("1");
char [] c={'1','2','3'};
public static void main(String[] args) {
Test t=new Test();
t.show(t.a,t.c);
System.out.print(t.a);
System.out.print(t.c[0]);
}
public void show(String a,char c[]){
a="2";
c[0]='g';
}
}这写代码 为什么输出的是 1和g 而不是 2和g? String 在JAVA中到底属于什么数据类型啊
a="2"; //这句话并不改变t.a得值,而是另外在堆中申请个对象,里面的值为“2”,并让a指向这个对象
c[0]='g';
}