常用类-StringBuilder

StringBuilder

参考黑马程序员

String拼接操作内存设定如下图

 

StringBuilder是一个可变的字符串类,我们可以把它看成是一个容器,这里的可变指的是StringBuilder对象中的内容是可变的



String和StringBuilder区别

  • String内容是不可变的

  • StringBuilder内容是可变的



StringBuilder构造方法(见代码)

方法名说明
public StringBuilder() 创建一个空白可变字符串对象,不含有任何内容
public StringBuilder(String str) 根据字符串的内容,来创建可变字符串对象


StringBuilder的添加和反转方法(见代码)

方法名说明
public StringBuilder append(任意类型) 添加数据,并返回对象本身
public StringBuilder reverse() 返回相反的字符序列


StringBuilder和String相互转换

  • 为什么要相互转换?

因为StringBuilder中有两个好用的方法append和revers,所以String对象想要调用就需要转换为StringBuilder,使用完以后需要转换回来。

StringBuilder转换为String

public String toString():通过toString()就可以实现把StringBuilder转换为String

String转换为StringBuilder

public StringBuilder(str):通过构造方法就可以实现把Stringr转换为StringBuilder



代码

        //创建一个空白可变字符串对象,不含有任何内容
       StringBuilder sb = new StringBuilder();
       System.out.println("sb:"+sb);
       System.out.println("sb.length():"+sb.length());

       //根据字符串的内容,来创建可变字符串对象
       StringBuilder sb2 = new StringBuilder("StringBuilder");
       System.out.println("sb2:"+sb2);
       System.out.println("sb2.length():"+sb2.length());

       //添加数据,并返回对象本身
       sb2.append(123);
       System.out.println(sb2);
       //链式编程
       sb.append(123).append(456).append(789);
       System.out.println(sb);

       //返回相反的字符序列
       sb2.reverse();
       System.out.println(sb2);

       //通过toString()就可以实现把StringBuilder转换为String
       String str = sb2.toString();
       System.out.println(str);

       //通过构造方法就可以实现把Stringr转换为StringBuilder
       StringBuilder sb3 = new StringBuilder(str);

 

posted @ 2021-03-12 09:17  i爱在西元前  阅读(65)  评论(0)    收藏  举报