美文网首页
Java StringBuffer 和 StringBuilde

Java StringBuffer 和 StringBuilde

作者: 小石头呢 | 来源:发表于2019-08-15 10:09 被阅读0次

    一.概念

    • String类似于OC的NSString,则也会有与之对应的可变字符串在Java里面对应OC的NSMutableString的是StringBuffer 和 StringBuilder

    • StringBuffer 和 StringBuilder相较于String,可以被多次的修改,并且不产生新的未使用对象。

    • StringBuffer 和 StringBuilder最大的不同是StringBuilder的方法不是线程安全的(不能同步访问),但是具有速度上的优势,所以多数情况下建议采用。

    二.方法

    • 构造方法
    //构造一个没有字符的字符串构建器,初始容量为16个字符。
    StringBuilder()
    
    //构造一个包含与指定的相同字符的字符串构建器 CharSequence。
    StringBuilder(CharSequence seq)
    
    //构造一个没有字符的字符串构建器,由 capacity参数指定的初始容量。
    StringBuilder(int capacity)
     
    //构造一个初始化为指定字符串内容的字符串构建器。
    StringBuilder(String str)
    
    • append尾部追加方法
    //boolean int double float long  char char[] charSequence String Object
    public StringBuilder append(参数类型 var)
    
    //追加对应位置的字符
    public StringBuilder append(char[] var, int offset, int len)
    
    • insert插入方法
    //boolean int double float long  char char[] charSequence String Object
    public StringBuilder insert(int offset, 参数类型 var)
    
    //插入对应位置的字符
    public StringBuilder insert(int offsetS, char[] var2, int offsetC, int len)
    
    • replace替换方法
    public StringBuilder replace(int offset, int length, String var)
    
    • reverse将此字符序列用其反转形式取代。
    public StringBuilder reverse()
    
    • delete删除对应位置的字符
    public StringBuilder delete(int offset, int len);
    
    • 转化为String
    String toString()
    
    • 其它的方法

    三.代码

    //创建的同时先准备好6个字符的的空间,也可以为空,明确大小会很快
    StringBuilder sb = new StringBuilder(6);
    
    //末尾追加-重载
    sb.append(1);
    System.out.println(sb);
    sb.append('I');
    System.out.println(sb);
    sb.append(" love Android");
    System.out.println(sb);
    
    //插入-重载
    sb.insert(1,':');
    System.out.println(sb);
    
    //替换
    sb.replace(0,2,"");
    int start = sb.indexOf("Android");
    int end = start+"Android".length();
    sb.replace(start,end,"you");
    System.out.println(sb);
    
    //反转
    sb.reverse();
    System.out.println(sb);
    
    //删除
    sb.delete(0,3);
    System.out.println(sb);
    
    //运行结果
    1
    1I
    1I love Android
    1:I love Android
    I love you
    uoy evol I
     evol I
    

    相关文章

      网友评论

          本文标题:Java StringBuffer 和 StringBuilde

          本文链接:https://www.haomeiwen.com/subject/qeyejctx.html