阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

字符串-StringBuffer

186次阅读
没有评论

共计 1439 个字符,预计需要花费 4 分钟才能阅读完成。

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() // 将缓冲区内内容返回

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());
}
}

运行结果:

字符串 -StringBuffer

3、链式调用

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

如:

StringBuffer  sb = new StringBuffer();
sb.append(“aaa”) .append(“bbb”) .append(“ccc”) .append(“ddd”) ;
String  data = sb.toString(); //data 的结果为 aaabbbcccddd
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);
}
}

运行结果:

字符串 -StringBuffer

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-06-06发表,共计1439字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中