亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JAVA中String類(lèi)與StringBuffer類(lèi)的區(qū)別

 更新時(shí)間:2021年04月26日 16:58:59   作者:令仔很忙  
這篇文章主要為大家詳細(xì)介紹了JAVA中String類(lèi)與StringBuffer類(lèi)的區(qū)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

在Java中有兩種字符串的操作:String類(lèi)和StringBuffer類(lèi)(緩沖字符串處理類(lèi))。

下面先簡(jiǎn)單的說(shuō)一下兩者的區(qū)別。

String類(lèi)和StringBuffer類(lèi)都提供了相應(yīng)的方法實(shí)現(xiàn)字符串的操作,但二者略有不同。

(1) String類(lèi)

該類(lèi)一旦產(chǎn)生一個(gè)字符串,其對(duì)象就不可變。String類(lèi)的內(nèi)容和長(zhǎng)度是固定的。如果程序需要獲得字符串的信息需要調(diào)用系統(tǒng)提供的各種字符串操作方法實(shí)現(xiàn)。雖然通過(guò)各種系統(tǒng)方法可以對(duì)字符串施加操作,但這并不改變對(duì)象實(shí)例本身,而是生成一個(gè)新的實(shí)例。系統(tǒng)為String類(lèi)對(duì)象分配內(nèi)存,是按照對(duì)象所包含的實(shí)際字符數(shù)分配的。

(2) StringBuffer類(lèi)

查了查Buffer這個(gè)詞,有緩沖的意思,這個(gè)類(lèi)肯定有緩沖的功能。該類(lèi)處理可變的字符串。如果要修改一個(gè)StringBuffer類(lèi)的字符串,不需要再創(chuàng)建新的字符串對(duì)象,而是直接操作原來(lái)的串。該類(lèi)的各種字符串操作方法與String類(lèi)提供的方法不相同。系統(tǒng)為StringBuffer類(lèi)分配內(nèi)存時(shí),除去當(dāng)前字符所占的空間外,還提供另外的16個(gè)字符大小的緩沖區(qū)。每個(gè)StringBuffer對(duì)象都有一定的緩沖區(qū)容量,當(dāng)字符串大小沒(méi)有超過(guò)容量時(shí),不會(huì)分配新的容量,當(dāng)字符串大小超過(guò)容量時(shí),會(huì)自動(dòng)增加容量。

下面來(lái)舉一些具體的實(shí)例

字符串的連接

String類(lèi)有兩種方法

第一種(“+”)

public class str{
  public static void main(String[] args){
      String str1="加特效!";
      String str2="Duang~~";
      System.out.println(str1+" "+str2);
    }
  }

第二種(”concat”)

public class str{
  public static void main(String[] args){
      String str1="加特效!";
      String str2="Duang~~";
      System.out.println(str1.concat(str2));
    }
  }

StringBuffer類(lèi)的方法

public class str{
  public static void main(String[] args){
    //構(gòu)建一個(gè)緩沖字符串的對(duì)象sb
    StringBuffer sb=new StringBuffer("加特效!");
    //通過(guò)append方法,在這個(gè)對(duì)象后面添加一個(gè)新字符串
    sb.append(" Duang~~");
    System.out.println(sb);
  }
}

最終輸出的結(jié)果都為:加特效! Duang~~

通過(guò)上面的例子不難看出,String類(lèi)在進(jìn)行擴(kuò)展的時(shí)候,需要實(shí)例兩個(gè)對(duì)象,每個(gè)對(duì)象都會(huì)占用一定的內(nèi)存,而StringBuffer類(lèi)就不需要再實(shí)例化一個(gè)新的類(lèi),只需要調(diào)用一個(gè)擴(kuò)展的方法就可以了。

還有一點(diǎn)StringBuffer類(lèi)的內(nèi)存容量是可擴(kuò)展的。舉個(gè)具體的例子:

public class str{
  public static void main(String[] args){
     //聲明字符串對(duì)象sb
      StringBuffer sb=new StringBuffer(40);
      System.out.println(sb.capacity());   //輸出字符串的容量capacity
      sb.ensureCapacity(100);         //擴(kuò)充容量
      System.out.println(sb.capacity());   //輸出字符串的容量capacity
    }
  }

capacity()方法代表了字符串對(duì)象在內(nèi)存中,可以容納字符串的個(gè)數(shù)。如果想要擴(kuò)充內(nèi)存容量,可以使用方法ensureCapacity()。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java 容器的快速失敗(fast-fail)機(jī)制

    java 容器的快速失敗(fast-fail)機(jī)制

    Java容器的快速失敗機(jī)制是一種在迭代過(guò)程中檢測(cè)并處理集合并發(fā)修改的特性,該機(jī)制適用于ArrayList、HashMap等集合類(lèi),本文就來(lái)介紹一下java 容器的快速失敗(fast-fail)機(jī)制,感興趣的可以了解一下
    2024-11-11
  • SpringBoot如何引入緩存提高單次查詢數(shù)據(jù)效率

    SpringBoot如何引入緩存提高單次查詢數(shù)據(jù)效率

    這篇文章主要介紹了SpringBoot如何引入緩存提高單次查詢數(shù)據(jù)效率問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Java實(shí)現(xiàn)批量操作Excel的示例詳解

    Java實(shí)現(xiàn)批量操作Excel的示例詳解

    在操作Excel的場(chǎng)景中,通常會(huì)有一些針對(duì)Excel的批量操作,以GcExcel為例,為大家詳細(xì)介紹一下Java是如何實(shí)現(xiàn)批量操作Excel的,需要的可以參考一下
    2023-07-07
  • 如何將maven源改為國(guó)內(nèi)阿里云鏡像

    如何將maven源改為國(guó)內(nèi)阿里云鏡像

    在使用Maven打包Scala程序時(shí),默認(rèn)是從位于國(guó)外的Maven中央倉(cāng)庫(kù)下載相關(guān)的依賴,造成我們從國(guó)內(nèi)下載依賴時(shí)速度很慢,下面這篇文章主要給大家介紹了關(guān)于如何將maven源改為國(guó)內(nèi)阿里云鏡像的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • 淺談MyBatis3 DynamicSql風(fēng)格語(yǔ)法使用指南

    淺談MyBatis3 DynamicSql風(fēng)格語(yǔ)法使用指南

    這篇文章主要介紹了淺談MyBatis3 DynamicSql風(fēng)格語(yǔ)法使用指南,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • String.replaceAll方法詳析(正則妙用)

    String.replaceAll方法詳析(正則妙用)

    這篇文章主要給大家介紹了關(guān)于String.replaceAll方法,正則妙用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 從java反編譯及字節(jié)碼角度探索分析String拼接字符串效率

    從java反編譯及字節(jié)碼角度探索分析String拼接字符串效率

    這篇文章主要介紹了從java反編譯及字節(jié)碼角度探索分析String拼接字符串效率,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 淺試仿?mapstruct實(shí)現(xiàn)微服務(wù)編排框架詳解

    淺試仿?mapstruct實(shí)現(xiàn)微服務(wù)編排框架詳解

    這篇文章主要為大家介紹了淺試仿?mapstruct實(shí)現(xiàn)微服務(wù)編排框架詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • java設(shè)計(jì)模式—靜態(tài)代理模式(聚合與繼承方式對(duì)比)

    java設(shè)計(jì)模式—靜態(tài)代理模式(聚合與繼承方式對(duì)比)

    下面小編就為大家?guī)?lái)一篇java設(shè)計(jì)模式—靜態(tài)代理模式(聚合與繼承方式對(duì)比)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • 解決springmvc+mybatis+mysql中文亂碼問(wèn)題

    解決springmvc+mybatis+mysql中文亂碼問(wèn)題

    這篇文章主要介紹了解決java中springmvc+mybatis+mysql中文亂碼問(wèn)題的相關(guān)資料,需要的朋友可以參考下
    2015-09-09

最新評(píng)論