通常认为StringBuilder在Java中使用字符串连接通常是优选的.总是这样吗?
我的意思是:创建一个StringBuilder对象的开销,调用append()方法,最后toString()已经小了,然后将现有的字符串与+运算符连接两个字符串,或者只建议更多(超过两个)字符串?
如果有这样的阈值,它依赖于什么(可能是字符串长度,但以哪种方式)?
最后,您是否会交换+串联的可读性和简洁性,以便StringBuilder在较小的情况下(如两个,三个或四个字符串)的性能?
StringBuilder在过时的Java优化技巧以及Java都市神话中,人们提到明确使用常规连接已经过时了.
我有一个遗留Java文件,它使用字符串连接来构建巨大的String对象.这是一个严重的性能问题.是否存在这样的方法,它执行以下操作
String test="I am a very bad programmer"
+"to use concatenation"
+"Instead of StringBuilder"
+" or StringBuffer";
Run Code Online (Sandbox Code Playgroud)
至
StringBuilder strBuilder= new StringBuilder();
strBuilder.append("I am a bad programmer");
strBuilder.append("to use concatenation");
strBuilder.append("Instead of StringBuilder");
strBuilder.append(" or StringBuffer");
String str= strBuilder.toString();
Run Code Online (Sandbox Code Playgroud)
基本上我需要一个java中的存根只是为了给一个String实例化作为输入并转换成StringBuilder.Anybody过去试过这个?