A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 青青子衿1023 中级黑马   /  2016-12-5 09:13  /  623 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

错误的使用StringBuffer

错误的写法:

  • StringBuffer sb = new StringBuffer();  
  • sb.append("Name: ");  
  • sb.append(name + '\n');  
  • sb.append("!");  
  • ...  
  • String s = sb.toString();

问题在第三行,append char比String性能要好,另外就是初始化StringBuffer没有指定size,导致中间append时可能重新调整内部数组大小。如果是JDK1.5最好用StringBuilder取代StringBuffer,除非有线程安全的要求。还有一种方式就是可以直接连接字符串。缺点就是无法初始化时指定长度。

正确的写法:

  • StringBuilder sb = new StringBuilder(100);  
  • sb.append("Name: ");  
  • sb.append(name);  
  • sb.append("\n!");  
  • String s = sb.toString();

或者这样写:

  • String s = "Name: " + name + "\n!";

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马