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