欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java StringBuilder類原理及常用方法

 更新時(shí)間:2019年12月18日 10:00:30   作者:我的腳印  
這篇文章主要介紹了Java StringBuilder類原理及常用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了Java StringBuilder類原理及常用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

StringBuilder類的由來

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

StringBuilder的簡介

查閱 java.lang.StringBuilder 的API,StringBuilder又稱為可變字符序列,它是一個(gè)類似于 String 的字符串緩沖區(qū),通過某些方法調(diào)用可以改變該序列的長度和內(nèi)容。原來StringBuilder是個(gè)字符串的緩沖區(qū),即它是一個(gè)容器,容器中可以裝很多字符串。并且能夠?qū)ζ渲械淖址M(jìn)行各種操作。它的內(nèi)部擁有一個(gè)數(shù)組用來存放字符串內(nèi)容,進(jìn)行字符串拼接時(shí),直接在數(shù)組中加入新內(nèi)容。StringBuilder會自動(dòng)維護(hù)數(shù)組的擴(kuò)容(默認(rèn)16字符空間,超過自動(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(...):添加任意類型數(shù)據(jù)的字符串形式,并返回當(dāng)前對象自身。任何數(shù)據(jù)作為參數(shù)都會將對應(yīng)的字符串內(nèi)容添加到StringBuilder中。

package demo06;

public class Demo01StringBuilder {
  public static void main(String[] args) {
    //創(chuàng)建StringBuilder對象
    StringBuilder bu = new StringBuilder();
    //使用append方法往StringBuilder中添加數(shù)據(jù),可以添加任意類型的數(shù)據(jù)
    /*
      鏈?zhǔn)骄幊?方法返回值是一個(gè)對象,可以繼續(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對象轉(zhuǎn)換為String對象。

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對象轉(zhuǎn)換為String對象。
 */
  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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java8新特性之Stream API詳解

    Java8新特性之Stream API詳解

    這篇文章主要介紹了Java8新特性之StreamAPI詳解,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • SpringMVC文件上傳功能實(shí)例解析

    SpringMVC文件上傳功能實(shí)例解析

    這篇文章主要介紹了SpringMVC文件上傳功能實(shí)例解析,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-03-03
  • SpringBoot使用@ControllerAdvice全局異常處理

    SpringBoot使用@ControllerAdvice全局異常處理

    這篇文章主要介紹了SpringBoot使用@ControllerAdvice全局異常處理,異常處理是非常重要的一部分,它可以幫助我們捕獲并處理應(yīng)用程序中出現(xiàn)的異常情況,提高應(yīng)用程序的健壯性和可靠性,需要的朋友可以參考下
    2023-07-07
  • Springboot內(nèi)嵌tomcat應(yīng)用原理深入分析

    Springboot內(nèi)嵌tomcat應(yīng)用原理深入分析

    懂得SpringBoot的童鞋應(yīng)該很清楚,不管應(yīng)用程序是屬于何種類型,都是一個(gè)Main方法走遍天下,對于web應(yīng)用,只需要引入spring-boot-starter-web中這個(gè)依賴,應(yīng)用程序就好像直接給我們來了個(gè)tomcat一樣,對于嵌入式Tomcat,其實(shí)也非常簡單,就是調(diào)用Tomcat提供的外部類
    2022-09-09
  • SpringBoot 整合 RabbitMQ 的使用方式(代碼示例)

    SpringBoot 整合 RabbitMQ 的使用方式(代碼示例)

    本文詳細(xì)介紹了使用RabbitTemplate進(jìn)行消息傳遞的幾種模式,包括點(diǎn)對點(diǎn)通信、發(fā)布/訂閱模式、工作隊(duì)列模式、路由模式和主題模式,每種模式都通過代碼示例展示了生產(chǎn)者和消費(fèi)者的實(shí)現(xiàn),幫助開發(fā)者理解和運(yùn)用RabbitMQ進(jìn)行高效的消息處理
    2024-10-10
  • Java  解決死鎖的方法實(shí)例詳解

    Java 解決死鎖的方法實(shí)例詳解

    這篇文章主要介紹了java 多線程死鎖詳解及簡單實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Spring Boot 部署過程解析(jar or war)

    Spring Boot 部署過程解析(jar or war)

    這篇文章主要介紹了Spring Boot 部署過程解析(jar or war),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 詳解OpenFeign服務(wù)調(diào)用(微服務(wù))

    詳解OpenFeign服務(wù)調(diào)用(微服務(wù))

    OpenFeign是Spring Cloud在Feign的基礎(chǔ)上支持了SpringMVC的注解,如@RequesMapping等等,這篇文章主要介紹了OpenFeign服務(wù)調(diào)用的相關(guān)知識,需要的朋友可以參考下
    2022-07-07
  • SpringBoot整合Druid數(shù)據(jù)源過程詳解

    SpringBoot整合Druid數(shù)據(jù)源過程詳解

    這篇文章主要介紹了SpringBoot整合Druid數(shù)據(jù)源過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Java JDK 1.8 lambda的用法詳解

    Java JDK 1.8 lambda的用法詳解

    這篇文章主要介紹了Java JDK 1.8 lambda的用法詳解,文中給大家提到了jdk 1.8 Lambda 表達(dá)式 遍歷數(shù)組的方法,需要的朋友可以參考下
    2019-09-09

最新評論