使用StringBuilder构建字符串确实可以提高效率,比“+”要高效不少。但使用时也有一些坑:

首先,我们指定一个StringBuilder,并设置其长度。

StringBuilder builder = new StringBuilder(30);

如果是在循环里,注意每次清空上一次的结果:

builder = builder.delete(0, builder.length());

1. 使用

void setCharAt(int index, char ch)

这个方法,需要计算索引位置,会比较麻烦。索引弄错了,很可能,结果就不对,导致结果中出现'\u0000'。之前,吃过这个亏。

2. 使用

StringBuilder append(CharSequence s)

这个方法,就不需要管索引的问题,一般用这个就可以了,减少了很多麻烦。

最新文章

  1. WeakReference
  2. [转]搭建Maven私服
  3. python strip() lstrip() rstrip() 使用方法
  4. 转载:SMS软件FESWMS模型使用体会
  5. 本地Git环境配置
  6. Spring核心框架 - AOP之动态代理机制
  7. Delphi TcxTreelist 表格左边总是缩进去 ,好像有偏移 解决方法
  8. Gmail邮件功能那么强大,GMail被封,在国内怎么用gmail收邮件?
  9. C#进程与线程
  10. Android AlarmManager报警的实现
  11. thinkphp学习笔记6—url模式
  12. unique & lower_bound C++
  13. 修改firefox的默认缩放比
  14. vue.js 自带阻止默认事件 阻止冒泡
  15. Redis:默认配置文件redis.conf详解
  16. HTTPS协议、TLS协议、证书认证过程解析
  17. 【Java学习系列】第4课--Java Web相关
  18. C# WPF DataGrid 分组(Group)
  19. SSL证书没有绿锁您与此网站建立的连接并非完全安全解决办法
  20. 【bzoj4066】 简单题

热门文章

  1. 原生js实现元素类名的判存、添加和移除
  2. 微信小程序之上传图片(含前后端代码例子)
  3. 冰多多团队-第六次Scrum会议
  4. Composer教程
  5. ps 渐进式图片的技巧(支持jpg,gif,png)
  6. Failure [DELETE_FAILED_INTERNAL_ERROR]之后rm apk卸载
  7. MySQL Unknown table engine 'FEDERATED''
  8. H3C/华为交换机配置NTP客户端
  9. SpringBoot入门-集成mybatis(四)
  10. List containsKey 和Map contains 判断集合中是否包含某个值