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,並不是原本那一個
但還是不太確定,希望有人可以幫我解釋一下