java代碼實(shí)現(xiàn)減法 為什么說java的String相加減效率低?
為什么說java的String相加減效率低?由于string是一個不可變的變量,為了保證線程的安全,采用了不可變的設(shè)計模式,所以每次對string進(jìn)行加減操作,都會生成一個新的對象。經(jīng)過多次加法或減法
為什么說java的String相加減效率低?
由于string是一個不可變的變量,為了保證線程的安全,采用了不可變的設(shè)計模式,所以每次對string進(jìn)行加減操作,都會生成一個新的對象。經(jīng)過多次加法或減法運(yùn)算,會產(chǎn)生許多新的對象,占用內(nèi)存,影響程序性能。因此,對于字段字符串的加法或減法,通常使用StringBuffer和StringBuilder,其中StringBuffer是線程安全的。StringBuilder不是線程安全的。StringBuffer為每個方法使用synchronized,以確保線程安全。