StringBuffer和StringBuilder的区别及用法

文章目录

  • StringBuffer
    • 定义
    • StringBuffer的常用方法
  • StringBuilder
    • 定义
    • StringBuilder的使用

StringBuffer

定义

可变的字符数组,线程安全的可变字符序列,是单线程的。与String的区别是String是一个不可变的字符序列。

StringBuffer的常用方法

  1. append方法
    将任意类型添加到此字符串
StringBuffer bu = new StringBuffer("abc");
bu.append(6).append(false).append("aaa").append(1.88);
System.out.println(bu);

返回值:abc6falseaaa1.88

  1. delete方法
    删除此字符串中的字符。
StringBuffer bu = new StringBuffer();
  bu.append("abcdefgh");
  bu.delete(1, 3);
  System.out.println(bu);

返回值:adefgh
注:删除的字符不包含结尾位置。

  1. insert方法
    向此序列插入新的序列,可以为任何类型。
StringBuffer bu = new StringBuffer();
bu.append("hello");
bu.insert(2, "您好");
System.out.println(bu);

返回值:he您好ello

  1. replace方法
    指定新的字符替换此序列中的字符。
StringBuffer buffer = new StringBuffer();
  buffer.append("杰克逊每天都练舞蹈");
  buffer.replace(1, 3, "jks");
  System.out.println(buffer);

返回值:杰jks每天都练舞蹈

  1. reverse方法
    翻转此序列。
StringBuffer buffer = new StringBuffer();
  buffer.append("我爱我家");
  buffer.reverse();
  System.out.println(buffer);

返回值:家我爱我

StringBuilder

定义

StringBuilder和StringBuffer一样都是可变序列。
它是在jdk1.5版本的时候提出的,但是它不是线程安全的,支持多线程。它比StringBuffer有速度优势,所以多数情况下建议使用。但是在要求程序线程安全的情况下必须使用StringBuffer。

StringBuilder的使用

StringBuilder用法和StringBuffer基本相同,在此不多赘述。

你可能感兴趣的:(java)