我想了解不同情况下连接字符串字面量和变量的最佳实践以及原因。例如,如果我有以下代码:
StringBuilder sb = new StringBuilder("AAAAAAAAAAAAA")
.append(B_String).append("CCCCCCCCCCC").append(D_String)
.append("EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE")
.append("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");
这是正确的方法吗?从这篇帖子中,我注意到对字符串使用加号+
操作符会创建一个新的StringBuilder实例,并将操作数连接起来,最后返回一个String类型的结果。这似乎比直接调用.append()
要多做很多工作。所以如果这是真的,那就不行了。但是,String.concat()
呢?每次连接都使用.append()
是合适的吗?还是只有变量需要用.append()
,而字面值可以用.concat()
来连接?
StringBuilder sb = new StringBuilder("AAAAAAAAAAAAA")
.append(B_String.concat("CCCCCCCCCCC")).append(D_String
.concat("EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE")
.concat("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"));
在这些情况下,最佳实践和性能的一般规则是什么?我的假设是否正确,+
应该真的不使用吗?