java 中什么时候用 + 拼接字符串

本文探讨了在Java中使用字符串拼接的最佳实践。分析了在循环和多次表达式中使用StringBuilder进行字符串拼接的影响,以及直接拼接字面量字符串的场景。通过对比不同情况下的性能表现,帮助开发者理解何时应使用StringBuilder,以及频繁创建StringBuilder对性能的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 

1、什么时候不能用

通过循环和多个表达式完成一个字符串拼接操作。

频繁创建StringBuilder影响性能。

2、什么时候用

直接将三个字面量的字符串拼接成一个字符串。


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";

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值