不考虑反射,String类型变量所指向内存空间中的内容是不能被改变的 。 ( )
String s = "yyx";
String t = new String("zm"); private final byte[] value;value 指向了常量池中的字符串常量,即如果常量池中有 "zm",则用 value 指向它;若无,则创建再指向它。
//字符串对象的比较
String str = "name";
String s = "name";
System.out.println(s == str);// true
String s1 = new String("name");
String s2 = new String("name");
System.out.println(s1 == s2);//false
System.out.println(s1 == str);//false
//看下图
String s3 = str; // 指向name
str = "Jason"; // 改变对象的引用
System.out.println(s3 == str);//false
System.out.println(s3); // name
//字符串对象的比较
String str = "name";
String s = "name";
System.out.println(s == str);// true
String s1 = new String("name");
String s2 = new String("name");
System.out.println(s1 == s2);//false
System.out.println(s1 == str);//false
String s3 = str; // 指向name
str = "Jason"; // 改变对象的引用
System.out.println(s3 == str);//false
System.out.println(s3); // name