文件,它使用字符串连接来构建巨夶的String对象.这是一个严重的性能问题.是否存在这样的方法,它执行以下操作
基本上我需要一个java中的存根只是为了给一个String实例化作为输入并转换荿StringBuilder.Anybody过去试过这个
像示例中的固定文字比使用StringBuilder更有效.
固定文字将由编译器检测,并将内联为单个值,因此两行
将生成完全相同的字节码.
如果连接不是使用文字而是使用函数调用,则图片是不同的.
当你需要动态追加字符串时,首选StringBuilder而不是StringBuffer,因为它不会同步,因为它稍快一些.
这些类的生成字節码是:
正如您所看到的,两个变量的处理方式相同.
我不认为这属于语言规范,因为这只是“编译器优化”.
一个不同的编译器(我使用的是Sun编译器)可能会做一些完全不同的事情 – 只要行为没有改变就可以了.