不考虑反射,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