Java String類
字符串廣泛應(yīng)用在Java編程中,在Java中字符串屬于對象,Java提供了字符串類來創(chuàng)建和操作字符串。
創(chuàng)建字符串最簡單的方式如下:
String greeting = "Hello world!";
String類是不可改變的,因此您一旦創(chuàng)建了String對象,那它的值就無法改變了。如果需要對字符串做很多修改,那么應(yīng)該選擇使用 StringBuffer和StringBuilder類
Java StringBuffer 和 StringBuilder 類
Java StringBuffer 和 StringBuilder 類
當(dāng)對字符串進(jìn)行修改的時(shí)候,需要使用 StringBuffer 和 StringBuilder 類。
和String類不同的是,StringBuffer 和 StringBuilder 類的對象能夠被多次的修改,并且不產(chǎn)生新的未使用對象。
StringBuilder 類在 Java 5 中被提出,它和 StringBuffer 之間的最大不同在于 StringBuilder 的方法不是線程安全的(線程安全就是多線程訪問時(shí),采用了加鎖機(jī)制,當(dāng)一個(gè)線程訪問該類的某個(gè)數(shù)據(jù)時(shí),進(jìn)行保護(hù),其他線程不能進(jìn)行訪問直到該線程讀取完,其他線程才可使用。不會出現(xiàn)數(shù)據(jù)不一致或者數(shù)據(jù)污染。線程不安全就是不提供數(shù)據(jù)訪問保護(hù),有可能出現(xiàn)多個(gè)線程先后更改數(shù)據(jù)造成所得到的數(shù)據(jù)是臟數(shù)據(jù))。
由于 StringBuilder 相較于 StringBuffer 有速度優(yōu)勢,所以多數(shù)情況下建議使用 StringBuilder 類。然而在應(yīng)用程序要求線程安全的情況下,則必須使用 StringBuffer 類。