现在的位置: 首页 > 综合 > 正文

JAVA6,请使用字符串加操作

2018年02月01日 ⁄ 综合 ⁄ 共 673字 ⁄ 字号 评论关闭

从JAVA诞生那天起,稍微“有些水平”的程序员都被告知,如果有大量的字符串连结,请不要使用字符串相加,而应该使用

StringBuffer的append操作然后toString().

到了JAVA5,我们又被告诉知,StringBuilder是StringBuffer的非同步版,所以绝对大多数时候我们“更”可以用StringBuilder

来代替加操作。因为一个可能被多线程访问的实例字段的StringBuffer操作的情况很少,和在方法中调用字符串连结相比1%都不到。

但是到了JAVA6,因为编译器“始终”把字符串的+连结编译成StringBuilder,所以在99%的情况,我们应该使用加操作。

理由是:

1.用加操作比其它操作看起来直观,写起来省事,JAVA6之前,即使明知道有性能问题我们还会在一些时候全使用+连结,根本原因当然是

这种写法直观,简单。

String str = "Axman" + " is " + "a great lion.";

StringBuilder sb = new StringBuilder();

sb.append("Axman")

.append(" is ")

.append(" a great lion.");

String str = sb.toString();

谁要说第二种试方式美观写起来爽我一定当面抽他。打到他脑子正常为止。

2.我们有时还自学不自学地使用StringBuffer,而JAVA6总是把第一种形式优化为StringBuilder,在99%的情况下性能更好,除非你需要一个被多线程访问的实例字段操作。

另外只有两个字符串连结时请使用concat.

抱歉!评论已关闭.