1,String.valueOf()的返回值:
String a=String.valueOf("abc");//a-->String Pool
String b=String.valueOf("abc")+String.valueOf("def");//b-->heap
String c="abcdef";//c-->String Pool
System.out.println(b==c);//false
String d=String.valueOf("abc");
System.out.println(a==d);//true
2,双引号定义字符串:
String x="abc";//x-->String Pool
String y="def";//y-->String Pool
String z="abcdef";//z-->String Pool
String w=x+y;//w-->heap
System.out.println(w==z);//false
String u="abc"+"def";//u-->String Pool
System.out.pritnln(z-==u);//true;
3,String的一个方法:
public String intern()
-
返回:
- 一个字符串,内容与此字符串相同,但它保证来自字符串池中。
4,双引号字符串+String.valueOf()字符串:
String p="abc"+String.valueOf("def");//p-->heap
String q="abcdef";//q-->String Pool
System.out.println(p==q);//false
System.out.println(p.intern()==q);//true
5,"+"操作符的一个比较:
A:
String a="abc";//a-->String Pool
String b="def";//b-->String Pool
String c=a+b;//c-->heap
Strinig d="abc"+"def";//d-->String Pool
B:
String x=String.valueOf("abcdef");//x-->String Pool;
String y=String.valueOf("abc")+String.valueOf("def");//y-->heap
String z="abc"+String.valueOf("def");//z-->heap