溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

JavaStringBuilder類(lèi)原理及常用方法

發(fā)布時(shí)間:2021-10-15 18:10:35 來(lái)源:億速云 閱讀:331 作者:柒染 欄目:編程語(yǔ)言

今天就跟大家聊聊有關(guān)JavaStringBuilder類(lèi)原理及常用方法,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

StringBuilder類(lèi)的由來(lái)

由于String類(lèi)的對(duì)象內(nèi)容不可改變(底層是一個(gè)被final修飾的數(shù)組),所以每當(dāng)我們進(jìn)行字符串拼接時(shí),總是會(huì)在內(nèi)存中創(chuàng)建一個(gè)新的對(duì)象。如果對(duì)字符串進(jìn)行拼接操作,每次拼接,都會(huì)構(gòu)建一個(gè)新的String對(duì)象,既耗時(shí),又浪費(fèi)空間。為了解決這一問(wèn)題,我們可以使用java.lang.StringBuilder類(lèi)。

StringBuilder的簡(jiǎn)介

查閱 java.lang.StringBuilder 的API,StringBuilder又稱(chēng)為可變字符序列,它是一個(gè)類(lèi)似于 String 的字符串緩沖區(qū),通過(guò)某些方法調(diào)用可以改變?cè)撔蛄械拈L(zhǎng)度和內(nèi)容。原來(lái)StringBuilder是個(gè)字符串的緩沖區(qū),即它是一個(gè)容器,容器中可以裝很多字符串。并且能夠?qū)ζ渲械淖址M(jìn)行各種操作。它的內(nèi)部擁有一個(gè)數(shù)組用來(lái)存放字符串內(nèi)容,進(jìn)行字符串拼接時(shí),直接在數(shù)組中加入新內(nèi)容。StringBuilder會(huì)自動(dòng)維護(hù)數(shù)組的擴(kuò)容(默認(rèn)16字符空間,超過(guò)自動(dòng)擴(kuò)充)。

常用構(gòu)造方法有2個(gè):

public StringBuilder():構(gòu)造一個(gè)空的StringBuilder容器。

public StringBuilder(String str):構(gòu)造一個(gè)StringBuilder容器,并將字符串添加進(jìn)去。

StringBuilder常用的方法有2個(gè):

public StringBuilder append(...):添加任意類(lèi)型數(shù)據(jù)的字符串形式,并返回當(dāng)前對(duì)象自身。任何數(shù)據(jù)作為參數(shù)都會(huì)將對(duì)應(yīng)的字符串內(nèi)容添加到StringBuilder中。

package demo06;public class Demo01StringBuilder {  public static void main(String[] args) {    //創(chuàng)建StringBuilder對(duì)象    StringBuilder bu = new StringBuilder();    //使用append方法往StringBuilder中添加數(shù)據(jù),可以添加任意類(lèi)型的數(shù)據(jù)    /*      鏈?zhǔn)骄幊?方法返回值是一個(gè)對(duì)象,可以繼續(xù)調(diào)用方法     */    bu.append("abc").append(1).append(true).append(8.8).append('中');    System.out.println(bu);//abc1true8.8中  }}

public String toString()`:將當(dāng)前StringBuilder對(duì)象轉(zhuǎn)換為String對(duì)象。

package demo06;public class Demo02StringBuilder {  /*  StringBuilder和String可以相互轉(zhuǎn)換:    String->StringBuilder:可以使用StringBuilder的構(gòu)造方法      StringBuilder(String str) 構(gòu)造一個(gè)字符串生成器,并初始化為指定的字符串內(nèi)容。    StringBuilder->String:可以使用StringBuilder中的toString方法      public String toString():將當(dāng)前StringBuilder對(duì)象轉(zhuǎn)換為String對(duì)象。 */  public static void main(String[] args) {    //String->StringBuilder    String str = "hello";    StringBuilder bu = new StringBuilder(str);    //往StringBuilder中添加數(shù)據(jù)    bu.append("world");    System.out.println("StringBuilder:" + bu);    //StringBuilder->String    String s = bu.toString();    System.out.println("字符串:" + s);  }}

代碼執(zhí)行后的結(jié)果

看完上述內(nèi)容,你們對(duì)JavaStringBuilder類(lèi)原理及常用方法有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI