ex1:
public static void main(String[] args){
String str1 = "Hello";
System.out.println(str1);
tell(str1);
System.out.println(str1);
}
public static void tell(String str2){
str2 = "kdok123";
}
输出: Hello
Hello
结论: 因为String的值不能被修改
ex2:
class Ex2{
String temp = "Hello";
}
public class Ex2Demo{
public static void main(String[] args){
Ex2 e1 = new Ex2();
e1.temp = "kdok";
System.out.println(e1.temp);
tell(e1);
System.out.println(e1.temp);
}
public static void tell(Ex2 str2){
str2.temp = "kdok123";
}
}
输出:kdok
kdok123
问题:为什么这边的String就可以被修改呢?
java新手,问题有点浅,我觉得印出来的应该是新new出来的String,并不是原本那一个
但还是不太确定,希望有人可以帮我解释一下