目录
1、什么时候不能用
通过循环和多个表达式完成一个字符串拼接操作。
频繁创建StringBuilder影响性能。
private void test1() {
String www = "www.";
String str = www;
str += "javastack.";
str += "com";
}
String sql = "select name, sex, age, address";
sql += "from t_user";
sql += "where age > 18";
提供字节码可以看到,+= 操作使得NEW java/lang/StringBuilder出现了两次,是因为我们在代码中拼接了两次,也就是说每一次拼接操作都会创建一次 StringBuilder
。
如何查看字节码? https://mp.weixin.qq.com/s/bEEQf7bNik-rBPgK0uhjWg
2、什么时候用
直接将三个字面量的字符串拼接成一个字符串。
private static void test2() {
String str = "www." + "javastack." + "com";
}
String sql = "select name, sex, age, address"
+ "from t_user"
+ "where age > 18";