AbstractStringBuilder为什么要提供一个appendNull()方法?

码途有约 2020-09-16 03:18:19
StringBuilder的append方法如果传入的参数为null并不会报空指针或者返回原字符串,而是拼接一个“null”字符串,最后发现AbstractStringBuilder提供一个appendNull()方法,这样处理有什么特殊用意吗?

private AbstractStringBuilder appendNull() {
int c = count;
ensureCapacityInternal(c + 4);
final char[] value = this.value;
value[c++] = 'n';
value[c++] = 'u';
value[c++] = 'l';
value[c++] = 'l';
count = c;
return this;
}
...全文
2817 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
KeepSayingNo 2020-09-17
  • 打赏
  • 举报
回复
StringBuilder 的好处就是在内存中只维持一个对象,如果用String字符串拼接,每拼接一次就会产生新的对象
一个帅逼 2020-09-16
  • 打赏
  • 举报
回复
StringBuilder作为一个自变字符序列,用意是避免字符串频繁拼接时产生很多对象的替代,你一个字符串 +null,null最后也会变成“null"字符,所以appendNull()只是为了跟字符串拼接null结果一致而已
qybao 2020-09-16
  • 打赏
  • 举报
回复
这提供了空对象转成字符串的接口,方便于一些转换处理。比如打印空对象 String o = null; System.out.println(o); 能打印出null String s = “ok” + o; //能保证这里不出错 等等

51,397

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧