Java之StringBuilder

作者 : 开心源码 本文共2821个字,预计阅读时间需要8分钟 发布时间: 2022-05-13 共201人阅读

Java中的StringBuilder表示可变的字符序列。因为Java中的String类会创立不可变的字符序列,因而StringBuilder类提供了String类的替代方法。

 StringBuilder的功能与StringBuffer类非常类似,由于它们都通过可变的字符序列提供了String类的替代方法。但是,StringBuilder类在同步机制上与StringBuffer类不同。 StringBuilder类不提供同步保证,而StringBuffer类提供同步保证。因而,此类是为在单个线程使用StringBuffer时(通常是这种情况)用作StringBuffer的直接替代品。在可能的情况下,建议优先使用StringBuilder,由于在大多数实现中它会更快。 StringBuilder实例不能安全地用于多个线程。假如需要同步机制,则建议使用StringBuffer。


StringBuilder中的构造函数:

StringBuilder():  构造一个不包含任何字符且初始容量为16个字符的字符串生成器。

StringBuilder(int capacity): 构造一个字符串生成器,其中不包含任何字符,并且初始容量由Capacity参数指定。

StringBuilder(CharSequence seq): 构造一个字符串生成器,其中包含与指定CharSequence相同的字符。

StringBuilder(String str):构造一个字符串生成器,初始化为指定字符串的内容。


代码示例:

public class setep {    

    public static void main(String[] argv)            

        throws Exception{

        StringBuilder str = new StringBuilder(); 

       str.append(“GFG”); 

       System.out.println(“String = “+ str.toString());

       StringBuilder str1 = new StringBuilder(“AAAABBBCCCC”); 

       System.out.println(“String1 = “+ str1.toString()); 

       StringBuilder str2 = new StringBuilder(10);

        System.out.println(“String2 capacity = “+ str2.capacity());

        StringBuilder str3 = new StringBuilder(str1); 

       System.out.println(“String3 = “+ str3.toString());

    }

}

输出:

String = GFG

String1 = AAAABBBCCCC

String2 capacity = 10

String3 = AAAABBBCCCC


StringBuilder中的少量方法

StringBuilder append(X x):此方法将X类型参数的字符串表示形式附加到序列中。

int capacity():此方法返回当前容量。

char charAt(int index):此方法返回此序列在指定索引处的char值。

StringBuilder delete(int start, int end):此方法删除此序列的子字符串中的字符。

StringBuilder deleteCharAt(int index):此方法删除序列中指定位置的char。

void ensureCapacity(int minimumCapacity):此方法可确保容量至少等于指定的最小值。

void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)该方法将字符从该序列复制到目标字符数组dst。

int indexOf():此方法返回指定子字符串初次出现在该字符串中的索引。

StringBuilder insert():此方法将char参数的字符串表示形式插入此序列中。

int lastIndexOf():此方法返回指定子字符最后一次出现在此字符串内的索引。

int length():此方法返回长度(字符数)。

StringBuilder replace(int start, int end,String str):此方法用指定String中的字符替换此序列的子字符串中的字符。

StringBuilder reverse():此方法会使此字符序列被序列的相反字符替换。

void setCharAt(int index, char ch):在此方法中,指定索引处的字符设置为ch。

void setLength(int newLength):此方法设置字符序列的长度。

CharSequence subSequence(int start, int end):此方法返回一个新的字符序列,即该序列的子序列。

String substring():此方法返回一个新的String,包含此字符序列中当前包含字符的子序列。

String toString():此方法返回一个序列中数据的string形式。


代码示例:

public class setep {

    public static void main(String[] argv)

    throws Exception {

        StringBuilder str =new StringBuilder(“AAAABBBCCCC”);

        System.out.println(“String = “+ str.toString());

        StringBuilder reverseStr = str.reverse();

        System.out.println(“Reverse String = “+ reverseStr.toString());

        str.appendCodePoint(44);

        System.out.println(“Modified StringBuilder = “+ str);

        int capacity = str.capacity();

        System.out.println(“StringBuilder = ” + str);

        System.out.println(“Capacity of StringBuilder = “+ capacity);

    }

}

输出:

String = AAAABBBCCCC

Reverse String = CCCCBBBAAAA

Modified StringBuilder = CCCCBBBAAAA,

StringBuilder = CCCCBBBAAAA,

Capacity of StringBuilder = 27

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Java之StringBuilder

发表回复