StringBuilder使用tips

东林梁

关注

阅读 39

2022-03-11

StringBuffer太粗糙了,或者说锁的粒度太大了,只是简单粗暴的加在方法上,所以很少人使用。

StringBuilder使用tips

  • new StringBuilder的时候,如果拼接的字符串比较简单,可以直接new一个带初始化容量大小的StringBuilder,比如RocketMQ源码会有类似写法
private String buildKey(final String topic, final int queueId) {
    StringBuilder sb = new StringBuilder(topic.length() + 5);
    sb.append(topic);
    sb.append(TOPIC_QUEUEID_SEPARATOR);
    sb.append(queueId);
    return sb.toString();
}
  • StringBuilder也有初始容量大小,是16,append的时候会判断容量够不够,不够的话,会进行数组拷贝Arrays.copyOf的操作

精彩评论(0)

0 0 举报