JDK 上说
String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。
字符串是常量;它们的值在创建之后不能更改。
但是实际运行中
public class A
public static void main(String[] args) {
String s="123";
String a1="456";
s=a1;
System.out.println(s);
System.out.println(s);
}
}
输出结果是
456
456
这是为什么呢, 如果改成 s+a1=="456456";
输出false;
这是因为s和a1都是指针,指向内存中的位置,s="456" 是说s指向了456这块内存, 而要是想改变"456"这个字符串本身这是不可能的
String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。
字符串是常量;它们的值在创建之后不能更改。
但是实际运行中
public class A
public static void main(String[] args) {
String s="123";
String a1="456";
s=a1;
System.out.println(s);
System.out.println(s);
}
}
输出结果是
456
456
这是为什么呢, 如果改成 s+a1=="456456";
输出false;
这是因为s和a1都是指针,指向内存中的位置,s="456" 是说s指向了456这块内存, 而要是想改变"456"这个字符串本身这是不可能的