stringbuilder用法 string類和stringbuilder的區(qū)別?
string類和stringbuilder的區(qū)別?1)變量或不可變:字符串是不可變的,每次執(zhí)行時都會生成一個新對象。因此,在頻繁更改字符串以節(jié)省內(nèi)存時,不使用字符串。2)是多線程安全的:StringB
string類和stringbuilder的區(qū)別?
1)變量或不可變:字符串是不可變的,每次執(zhí)行時都會生成一個新對象。因此,在頻繁更改字符串以節(jié)省內(nèi)存時,不使用字符串。
2)是多線程安全的:StringBuilder不向方法添加同步鎖,因此它不是線程安全的。StringBuffer和string都是線程安全的
1。2113的執(zhí)行速度比較:StringBuilder>;StringBuffer
2。StringBuffer和StringBuilder是字符串變量,它們是5261對4102的可變對,每當我們使用它們進行字符串匹配時,1653操作實際上是對一個對象進行操作的。它不像字符串那樣創(chuàng)建一些對象進行操作,所以速度很快。
3. StringBuilder:線程不安全StringBuffer:線程安全。當多線程使用字符串緩沖區(qū)時,JVM不能保證StringBuilder的操作是安全的。雖然它是最快的,但它可以確保StringBuffer能夠正確地運行。當然,在大多數(shù)情況下,我們在單個線程下操作,因此建議在大多數(shù)情況下使用StringBuilder而不是StringBuffer,這是提高速度的原因。對于這三種用途的總結(jié):1。如果要操作少量數(shù)據(jù),請使用=字符串2。單線程操作字符串緩沖區(qū)操作大量數(shù)據(jù)=StringBuilder 3。多線程操作string buffer操作大量數(shù)據(jù)=StringBuffer