成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

string和string builder的區(qū)別 stringbuffer和stringbuilder的異同?

stringbuffer和stringbuilder的異同?stringbuffer 一下簡(jiǎn)稱(chēng)buffer stringbuilder 以下簡(jiǎn)稱(chēng)builder buffer 是線程安全的,builde

stringbuffer和stringbuilder的異同?

stringbuffer 一下簡(jiǎn)稱(chēng)buffer stringbuilder 以下簡(jiǎn)稱(chēng)builder buffer 是線程安全的,builder是不安全的。 buffer 速度慢,builder速度快。 其實(shí)在string ss “ss”;的過(guò)程中,就是調(diào)用兩次stringbuffer,StringBuffer sa new StringBuffer() (

string、stringbuffer和stringbuilder有什么區(qū)別?

在java中有3個(gè)類(lèi)來(lái)負(fù)責(zé)字符的操作。

是進(jìn)行單個(gè)字符操作的,

對(duì)一串字符進(jìn)行操作。不可變類(lèi)。

也是對(duì)一串字符進(jìn)行操作,但是可變類(lèi)。

String:

是對(duì)象不是原始類(lèi)型.

為不可變對(duì)象,一旦被創(chuàng)建,就不能修改它的值.

對(duì)于已經(jīng)存在的String對(duì)象的修改都是重新創(chuàng)建一個(gè)新的對(duì)象,然后把新的值保存進(jìn)去.

String 是final類(lèi),即不能被繼承.

StringBuffer:

是一個(gè)可變對(duì)象,當(dāng)對(duì)他進(jìn)行修改的時(shí)候不會(huì)像String那樣重新建立對(duì)象

它只能通過(guò)構(gòu)造函數(shù)來(lái)建立,

StringBuffer sb new StringBuffer()

note:不能通過(guò)付值符號(hào)對(duì)他進(jìn)行付值.

sb to here!//error

對(duì)象被建立以后,在內(nèi)存中就會(huì)分配內(nèi)存空間,并初始保存一個(gè)null.向StringBuffer

中付值的時(shí)候可以通過(guò)它的append方法.

(hello)

StringBuilder:

是一個(gè)可變對(duì)象,和StringBuffer相比,不是線程安全的,一般用在單個(gè)線程操作的時(shí)候(這種情況很普遍,所以一般優(yōu)先選用StringBuilder),速度比StringBuffe快很多。

字符串連接操作中StringBuffer的效率要比String高:

String str new String( to )

str here

的處理步驟實(shí)際上是通過(guò)建立一個(gè)StringBuffer,讓侯調(diào)用append(),最后

再將StringBuffer toSting()

這樣的話(huà)String的連接操作就比StringBuffer多出了一些附加操作,當(dāng)然效率上要打折扣.

并且由于String 對(duì)象是不可變對(duì)象,每次操作Sting 都會(huì)重新建立新的對(duì)象來(lái)保存新的值.

這樣原來(lái)的對(duì)象就沒(méi)用了,就要被垃圾回收.這也是要影響性能的.

看看以下代碼:

將26個(gè)

標(biāo)簽: