温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JavaStringBuilder类原理及常用方法

发布时间:2021-10-15 18:10:35 来源:亿速云 阅读:335 作者:柒染 栏目:编程语言

今天就跟大家聊聊有关JavaStringBuilder类原理及常用方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

StringBuilder类的由来

由于String类的对象内容不可改变(底层是一个被final修饰的数组),所以每当我们进行字符串拼接时,总是会在内存中创建一个新的对象。如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间。为了解决这一问题,我们可以使用java.lang.StringBuilder类。

StringBuilder的简介

查阅 java.lang.StringBuilder 的API,StringBuilder又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。原来StringBuilder是个字符串的缓冲区,即它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。它的内部拥有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新内容。StringBuilder会自动维护数组的扩容(默认16字符空间,超过自动扩充)。

常用构造方法有2个:

public StringBuilder():构造一个空的StringBuilder容器。

public StringBuilder(String str):构造一个StringBuilder容器,并将字符串添加进去。

StringBuilder常用的方法有2个:

public StringBuilder append(...):添加任意类型数据的字符串形式,并返回当前对象自身。任何数据作为参数都会将对应的字符串内容添加到StringBuilder中。

package demo06;public class Demo01StringBuilder {  public static void main(String[] args) {    //创建StringBuilder对象    StringBuilder bu = new StringBuilder();    //使用append方法往StringBuilder中添加数据,可以添加任意类型的数据    /*      链式编程:方法返回值是一个对象,可以继续调用方法     */    bu.append("abc").append(1).append(true).append(8.8).append('中');    System.out.println(bu);//abc1true8.8中  }}

public String toString()`:将当前StringBuilder对象转换为String对象。

package demo06;public class Demo02StringBuilder {  /*  StringBuilder和String可以相互转换:    String->StringBuilder:可以使用StringBuilder的构造方法      StringBuilder(String str) 构造一个字符串生成器,并初始化为指定的字符串内容。    StringBuilder->String:可以使用StringBuilder中的toString方法      public String toString():将当前StringBuilder对象转换为String对象。 */  public static void main(String[] args) {    //String->StringBuilder    String str = "hello";    StringBuilder bu = new StringBuilder(str);    //往StringBuilder中添加数据    bu.append("world");    System.out.println("StringBuilder:" + bu);    //StringBuilder->String    String s = bu.toString();    System.out.println("字符串:" + s);  }}

代码执行后的结果

看完上述内容,你们对JavaStringBuilder类原理及常用方法有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI