StringBuffer 和 StringBuilder 类

StringBuffer 和 StringBuilder 类

当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。

和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。

StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。

由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。

Test.java 文件代码:

public class Test{
  public static void main(String args[]){
    StringBuffer sBuffer = new StringBuffer("菜鸟教程官网:");
    sBuffer.append("www");
    sBuffer.append(".runoob");
    sBuffer.append(".com");
    System.out.println(sBuffer);
  }
}

以上实例编译运行结果如下:

菜鸟教程官网:www.runoob.com

StringBuffer 方法

以下是 StringBuffer 类支持的主要方法:

序列 方法描述
1 public StringBuffer append(String s)将指定的字符串追加到此字符序列。
2 public StringBuffer reverse()将此字符序列用其反转形式取代。
3 public delete(int start, int end)移除此序列的子字符串中的字符。
4 public insert(int offset, int i)将 int 参数的字符串表示形式插入此序列中。
5 replace(int start, int end, String str)使用给定 String 中的字符替换此序列的子字符串中的字符。

下面的列表里的方法和 String 类的方法类似:

序号 方法描述
1 int capacity()返回当前容量。
2 char charAt(int index)返回此序列中指定索引处的 char 值。
3 void ensureCapacity(int minimumCapacity)确保容量至少等于指定的最小值。
4 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)将字符从此序列复制到目标字符数组 dst。
5 int indexOf(String str)返回第一次出现的指定子字符串在该字符串中的索引。
6 int indexOf(String str, int fromIndex)从指定的索引处开始,返回第一次出现的指定子字符串在该字符串中的索引。
7 int lastIndexOf(String str)返回最右边出现的指定子字符串在此字符串中的索引。
8 int lastIndexOf(String str, int fromIndex)返回 String 对象中子字符串最后出现的位置。
9 int length()返回长度(字符数)。
10 void setCharAt(int index, char ch)将给定索引处的字符设置为 ch。
11 void setLength(int newLength)设置字符序列的长度。
12 CharSequence subSequence(int start, int end)返回一个新的字符序列,该字符序列是此序列的子序列。
13 String substring(int start)返回一个新的 String,它包含此字符序列当前所包含的字符子序列。
14 String substring(int start, int end)返回一个新的 String,它包含此序列当前所包含的字符子序列。
15 String toString()返回此序列中数据的字符串表示形式。

查看方法的实现点击此处

原文地址:https://www.cnblogs.com/jason1999/p/11682131.html

时间: 2024-11-11 22:16:08

StringBuffer 和 StringBuilder 类的相关文章

Java StringBuffer和StringBuilder类

当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类. 和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象. StringBuilder类在Java 5中被提出,它和StringBuffer之间的最大不同在于StringBuilder的方法不是线程安全的(不能同步访问). 由于StringBuilder相较于StringBuffer有速度优势,所以多数情况下建议使用StringBui

Java StringBuffer 和 StringBuilder 类

当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类. 和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象. StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问). 由于 StringBuilder 相较于 StringBuffer 有速度优势,

Java 12 - Java StringBuffer和StringBuilder类

Java StringBuffer和StringBuilder类 当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类. 和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象. StringBuilder类在Java 5中被提出,它和StringBuffer之间的最大不同在于StringBuilder的方法不是线程安全的(线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某

AJPFX关于StringBuffer,StringBuilder类 总结(一)

StringBuffer,StringBuilder类 StringBuffer是同步的,数据安全,效率低;StringBuilder是不同步的,数据不安全,效率高 StringBuffer:概述1) 用字符串做拼接,比较耗时并且也耗内存,而这种拼接操作又是比较常见的,        为了解决这个问题,Java就提供了       一个字符串缓冲区类.StringBuffer供我们使用. *        StringBuffer 线程安全的可变字符串. * StringBuffer的构造方法:

浅谈String、StringBuffer和StringBuilder类的区别

1.均可对字符串进行修改,但StringBuffer和StringBuilder类的对象进行多次修改时,不产生新的未使用对象. String 的底层是用final修饰的char数组,变量的内容不可变——内存占用高,资源利用率低: StringBuffer和StringBuilder类 则继承了AbstractStringBuilder类,其未使用final修饰char数组,变量内容动态更新——无效数组等待垃圾回收,减少资源占用; 2.StringBuilder相较于StringBuffer有速度

StringBuffer和StringBuilder类

java中除了可以使用 String 类来存储字符串,还可以使用 StringBuilder 类或 StringBuffer 类存储字符串,那么它们之间有什么区别? String 类具有是不可变性.内容不可以被修改,若修改了则是两个对象,因此要频繁修改字符串的话用String类会产生许多对象.使用 StringBuilder 或 StringBuffer 就可以避免这个问题.至于 StringBuilder 和StringBuffer ,它们基本相似,不同之处,StringBuffer 是线程安

【JAVA中String、StringBuffer、StringBuilder类的使用】

一.String类概述 1.String对象一旦创建就不能改变. 2.字符串常量池. 字符串常量池的特点:池中有则直接使用,池中没有则创建新的字符串常量. 例1: 1 public class StringDemo 2 { 3 public static void main(String args[]) 4 { 5 StringDemo1(); 6 7 } 8 public static void StringDemo1() 9 { 10 String str1="abcd"; 11

Java String、StringBuffer和StringBuilder类

package com.fish.string; /*  String 字符串类:     题目:new String("abc")创建了几个对象?  两个对象,一个对象是 位于字符串常量池中,一个对象是位于堆内存中.    */ public class Demo1 {     public static void main(String[] args) {         String str1 = "hello";         String str2 = 

Java基础知识(JAVA中String、StringBuffer、StringBuilder类的区别)

java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题.现在总结一下,看看他们的不同与相同. 1.可变与不可变 String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的. private final char value[]; StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在Abstra