天天看點

字元串

string 類

string 類對應的包 java.lang.object àjava.lang.string

java.lang.string 類 final 修飾,不可繼承

<b>兩種建立string</b><b>對象方式</b>

string str =”hello string ”;

string str1 = new string(“hello string”)

char c[]= {‘h’,’e’,’l’,’l’,’o’}; 等效于

string str2 = new string(“hello”);

每一個字元串都一個常量,是不可改變的 即使使用 + 号連結,還是會建立常量對象的

第一種建立方式,在str =”hello string”; 後面預設調用intern() 方法

第二種建立方式預設不會調用次方法,是以每次一次建立就意味着新的對象産生,也可以自行調用, intern() 方法

因為string 類中的對象是存放在常量池中,是以調用intern()方法在常量池中尋找是合理的

string 類 覆寫了object 中的equlas 方法

在使用string 對象的時候應該考慮對象是否為null

操作string 對象的 所有方法,在java se 幫助文檔中參閱

                stringbuffer與stringbuilder類

在java.lang.object類中 存在兩個類,第一個是stringbuffer 類、和stringbuilder 類、stringbuilder 是在jdk1.5之後才出現的,他們兩個最大的差別就是一個stringbuffer 對象在多線程中使用往往是最安全的,因為在每次使用對象的時候,都會先去判斷目前對象是否正在使用中,在java中叫判斷鎖。而stringbuilder 在使用對象的時候不會去判斷目前是否在使用對象,是以在多線程中會出現bug ,在多線程中建議使用stringbuffer ,如果在多線程中使用stringbuilder的話,則我們就要為對象進行加鎖。詳細資訊請參考java.lang.stringbuilder 中的源代碼 ,如果是單線程的話,建議使用stringbuilder,因為stringbuilder 在操作的時候不需要去判斷目前對象是否處于操縱狀态