java 字符串對象池
阿新 • • 發佈:2017-08-02
一個 float 創建 lean out 存儲 其中 虛擬機 包裝
java字符串是一個類,是java虛擬機在啟動的時候會實例化9個對象池,其中9個對象池分別用來存儲8種基本數據類型(int,float,double,byte,boolean,short,long,char)的包裝類和String對象。
Java String創建對象有兩種方式,其中一種是通過直接創建:String str1="Stringhello",另外一種是通過構造函數:String str2=new String("stringhello");前者是通過在對象池裏面取對象,後者是直接生成的一個對象。String str3="111"; String str4="111"; system.out.println(str3==str4);==>>輸出為:true.這是因為str3和str4都是通過對象池獲取,然而通過String str5=new String("111");system.out.println(str3==str5);==>>輸出為:false.這是因為str3是通過對象池獲取,而str5是直接創建,故而性質不同;
== :這種比較方法引用性質要相同才是true,而equal()方法則只需要值相同即可。
java 字符串對象池