StringBuilder的构造方法和append方法

Java中StringBuilder的构造方法

StringBuilder构造方法:
public StringBuilder(): 创建一个空白可变的字符串对象,不含有任何内容
public StringBuilder(): 根据字符串内容,来创建可变字符串对象

//链式编程

sb.append("hello").append("world").append("java").append(100);

System.out.println("sb".+sb);

//public StringBuilder reverse():返回相反的字符序列

sb.reverse();

System.out.println("sb:"+sb);

复制代码
public static void main(String[] args) {
//public StringBuilder(): 创建一个空白可变的字符串对象,不含有任何内容
StringBuilder sb =new StringBuilder();
System.out.println("sb:"+sb);
System.out.println("sb.length()"+sb.length());

//public StringBuilder(): 根据字符串内容,来创建可变字符串对象
StringBuilder sb2 =new StringBuilder("hello");
System.out.println("sb2:"+sb);
System.out.println("sb2.length()"+sb2.length());
}
复制代码

 

append() 方法

append(String str) 的操作如下:

  • 判断 str 是否为空,若为空,则直接调用 appendNull() 并返回;
  • 计算(count + len)追加 str 之后的长度,并确保存储字符序列的字符数组足够长;
  • str.getChars() 方法将 str 复制到字符数组 value(存储了 StringBuffer 字符序列);
  • 返回当前对象。

ensureCapacityInternal() 方法会检查字符数组 value 的容量是否足以存储追加之后的字符序列,不足则会进行扩容。count 表示 value 中下一个可用位置的下标

复制代码
public AbstractStringBuilder append(String str) {
    if (str == null)
        return appendNull();
    int len = str.length();
    ensureCapacityInternal(count + len);
    str.getChars(0, len, value, count);
    count += len;
    return this;
}
复制代码

 

posted @   夫君  阅读(288)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示