1. 程式人生 > >java 字符串對象池

java 字符串對象池

一個 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 字符串對象池