首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >字符串-StringBuffer

字符串-StringBuffer

作者头像
星哥玩云
发布2022-09-14 19:58:18
发布2022-09-14 19:58:18
4150
举报
文章被收录于专栏:开源部署开源部署

1、StringBuffer概述

1.1、什么是StringBuffer

StringBuffer与StringBuilder一样都可以解决字符串String进行拼接操作时,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间的问题

1.2、StringBuffer与StringBuilder区别

StringBuffer是线程同步的(安全的),StringBuilder是不同步的(不安全的),二者方法完全一致。

线程同步操作需要消耗更多的系统资源,所以更慢,而在日常开发过程中,同一个字符串的操作通常不会涉及多线程问题,所以在不考虑安全问题的情况下,尽量使用速度更快的StringBuilder。

2、常用方法

public StringBuffer append(Xxx xxx) //向字符串缓冲区中添加字符串

public String toString() //将缓冲区内内容返回

代码语言:javascript
复制
public class StringBufferDemo01 {
    public static void main(String[] args) {
        String s = "";
        for (int i = 0; i < 5; i++) {
            s += "i love java" + i;
        }
        System.out.println(s);

        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < 5; i++) {
            sb.append("i love java" + i);
        }
        sb.append(true);
        sb.append('d');
        sb.append(250);

        //对象显示的信息与toString()方法有关
        sb.append(new Person("admin",12));

        System.out.println(sb.toString());
    }
}

运行结果:

3、链式调用

在StringBuffer的方法中,有许多方法的返回值都是该类型本身,如append方法。这时,阅读API后发现,其实返回值就是其本身,这时我们可以继续调用append方法,依次类推,这种调用方法叫做链式调用。

如:

代码语言:javascript
复制
StringBuffer  sb = new StringBuffer();
sb.append(“aaa”) .append(“bbb”) .append(“ccc”) .append(“ddd”) ;
String  data = sb.toString(); //data的结果为aaabbbcccddd
代码语言:javascript
复制
public class StringBufferDemo02 {
    public static void main(String[] args) {
        StringBuffer sb = new StringBuffer();
        //  StringBuffer sb2 = sb.append("i love java ");
        //  StringBuffer sb3 = sb2.append("i like java ");
        //  StringBuffer sb4 = sb3.append("i enjoy java ");
        //  
        //  System.out.println(sb);
        //  System.out.println(sb2);
        //  System.out.println(sb3);
        //  System.out.println(sb4);

        sb.append("i love java").append("i like java ").append("i enjoy java");
        System.out.println(sb);
    }
}

运行结果:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、StringBuffer概述
    • 1.1、什么是StringBuffer
    • 1.2、StringBuffer与StringBuilder区别
  • 2、常用方法
  • 3、链式调用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档