Java 教程
- 第1节:Java 简介
- 第2节:Java 开发环境配置
- 第3节:Java 基础语法
- 第4节:Java 对象和类
- 第5节:Java 基本数据类型
- 第6节:Java 变量类型
- 第7节:Java 修饰符
- 第8节:Java 运算符
- 第9节:Java 循环结构 - for, while 及 do…while
- 第10节:Java 分支结构 - if…else/switch
- 第11节:Java Number类
- 第12节:Java Character类
- 第13节:Java String类
- 第14节:Java StringBuffer 和 StringBuilder 类
- 第15节:Java 数组
- 第16节:Java 日期时间
- 第17节:Java 正则表达式
- 第18节:Java 方法
- 第19节:Java 流(Stream)、文件(File)和IO
- 第20节:Java Scanner 类
- 第21节:Java 异常处理
- 第22节:Java 继承
- 第23节:Java 重写(Override)与重载(Overload)
- 第24节:Java 多态
- 第25节:Java 抽象类
- 第26节:Java 封装
- 第27节:Java 接口
- 第28节:Java 包(package)
- 第29节:Java 数据结构
- 第30节:Java 集合框架
- 第31节:Java 泛型
- 第32节:Java 序列化
- 第33节:Java 网络编程
- 第34节:Java 发送邮件
- 第35节:Java 多线程编程
- 第36节:Java Applet基础
- 第37节:Java 文档注释
- 第38节:Java 8 新特性
- 第39节:Java 9 新特性
- 第40节:Java 10 新特性
Java StringBuffer 和 StringBuilder 类
当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。
和String类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据)。
由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。
实例
public class Test{
public static void main(String args[]){
StringBuffer sBuffer = new StringBuffer(" test");
sBuffer.append(" String Buffer");
System.out.println(sBuffer);
}
}
以上实例编译运行结果如下:
test String Buffer
StringBuffer 方法
以下是 StringBuffer 类支持的主要方法:
下面的列表里的方法和 String 类的方法类似: