最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

(1) String類

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

(2) StringBuffer類

查了查Buffer這個(gè)詞,有緩沖的意思,這個(gè)類肯定有緩沖的功能。該類處理可變的字符串。如果要修改一個(gè)StringBuffer類的字符串,不需要再創(chuàng)建新的字符串對(duì)象,而是直接操作原來(lái)的串。該類的各種字符串操作方法與String類提供的方法不相同。系統(tǒng)為StringBuffer類分配內(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類有兩種方法

第一種(“+”)

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類的方法

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類在進(jìn)行擴(kuò)展的時(shí)候,需要實(shí)例兩個(gè)對(duì)象,每個(gè)對(duì)象都會(huì)占用一定的內(nèi)存,而StringBuffer類就不需要再實(shí)例化一個(gè)新的類,只需要調(diào)用一個(gè)擴(kuò)展的方法就可以了。

還有一點(diǎn)StringBuffer類的內(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.lang.String類的不可變性

    深入理解java.lang.String類的不可變性

    不可變類只是其實(shí)例不能被修改的類。每個(gè)實(shí)例中包含的所有信息都必須在創(chuàng)建該實(shí)例的時(shí)候就提供,并且在對(duì)象的整個(gè)生命周期內(nèi)固定不變,感興趣的可以了解一下
    2021-06-06
  • Jenkins配置jdk、maven、git方式

    Jenkins配置jdk、maven、git方式

    為了在Jenkins中使用Java、Maven和Git,需要在系統(tǒng)管理的全局工具配置中設(shè)置這些工具,首先,確保Jenkins主機(jī)已經(jīng)安裝了JDK、Git、Maven以及Maven的settings文件,安裝完成后,按照提示配置各個(gè)工具
    2023-04-04
  • Java隨機(jī)數(shù)的5種獲得方法(非常詳細(xì)!)

    Java隨機(jī)數(shù)的5種獲得方法(非常詳細(xì)!)

    這篇文章主要給大家介紹了關(guān)于Java隨機(jī)數(shù)的5種獲得方法,在實(shí)際開發(fā)中產(chǎn)生隨機(jī)數(shù)的使用是很普遍的,所以在程序中進(jìn)行產(chǎn)生隨機(jī)數(shù)操作很重要,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10
  • mybatis接口綁定失效的解決

    mybatis接口綁定失效的解決

    這篇文章主要介紹了mybatis接口綁定失效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 使用log4j2自定義配置文件位置和文件名(附log4j2.xml配置實(shí)例)

    使用log4j2自定義配置文件位置和文件名(附log4j2.xml配置實(shí)例)

    這篇文章主要介紹了使用log4j2自定義配置文件位置和文件名(附log4j2.xml配置實(shí)例),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java中RSA加密解密的實(shí)現(xiàn)方法分析

    Java中RSA加密解密的實(shí)現(xiàn)方法分析

    這篇文章主要介紹了Java中RSA加密解密的實(shí)現(xiàn)方法,結(jié)合具體實(shí)例形式分析了java實(shí)現(xiàn)RSA加密解密算法的具體步驟與相關(guān)操作技巧,并附帶了關(guān)于RSA算法密鑰長(zhǎng)度/密文長(zhǎng)度/明文長(zhǎng)度的參考說(shuō)明,需要的朋友可以參考下
    2017-07-07
  • 淺析Java中ConcurrentHashMap的存儲(chǔ)流程

    淺析Java中ConcurrentHashMap的存儲(chǔ)流程

    ConcurrentHashMap技術(shù)在互聯(lián)網(wǎng)技術(shù)使用如此廣泛,幾乎所有的后端技術(shù)面試官都要在ConcurrentHashMap技術(shù)的使用和原理方面對(duì)小伙伴們進(jìn)行360°的刁難,本文詳細(xì)給大家介紹一下ConcurrentHashMap的存儲(chǔ)流程,需要的朋友可以參考下
    2023-05-05
  • 如何基于ssm框架實(shí)現(xiàn)springmvc攔截器

    如何基于ssm框架實(shí)現(xiàn)springmvc攔截器

    這篇文章主要介紹了如何基于ssm框架實(shí)現(xiàn)springmvc攔截器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • SpringBoot與Redis的令牌主動(dòng)失效機(jī)制實(shí)現(xiàn)

    SpringBoot與Redis的令牌主動(dòng)失效機(jī)制實(shí)現(xiàn)

    本文詳細(xì)介紹了基于SpringBoot和Redis實(shí)現(xiàn)令牌主動(dòng)失效機(jī)制,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • 解決Spring Boot項(xiàng)目端口8080被占用的問(wèn)題

    解決Spring Boot項(xiàng)目端口8080被占用的問(wèn)題

    這篇文章主要介紹了解決Spring Boot項(xiàng)目端口8080被占用的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09

最新評(píng)論

宁陕县| 杂多县| 遂宁市| 腾冲县| 安化县| 团风县| 广平县| 龙州县| 中西区| 隆尧县| 迁西县| 临沧市| 平湖市| 长武县| 集贤县| 涿州市| 报价| 綦江县| 钟祥市| 怀集县| 房山区| 高要市| 抚顺市| 新绛县| 东源县| 泗洪县| 龙门县| 麻栗坡县| 茌平县| 呼玛县| 玉林市| 佛坪县| 台湾省| 包头市| 公主岭市| 淮安市| 阿荣旗| 环江| 阳曲县| 汾西县| 错那县|