String 中 "+"的实现

本文深入探讨了Java中字符串(String)拼接的底层实现机制,揭示了如何通过StringBuffer或StringBuilder的append方法来高效地完成字符串拼接,并讨论了不同场景下选择合适工具的重要性。

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

***String 中 "+"的实现

The Java language provides special support for the string concatenation operator ( + ), and for conversion

of other objects to strings. String concatenation is implemented through the StringBuilder(or StringBuffer)
class and its append method. String conversions are implemented through the method toString,defined
by Object and inherited by all classes in Java. For additional information on string concatenation and conversion,
see Gosling, Joy, and Steele, The Java Language Specification.
        解释一下它这个api,String类型的对象使用“+”进行串连接的时候,是通过StringBuffer或者是StringBuilder的append()方法来实现的,这里可以做一个大胆的猜想:也就是说在执行“+”操作时String对象会将自身构造成StringBuffer或者StringBuilder对象,然后再通过他们的append()方法来实现,之后调用StringBuffer或者StringBuilder的toString()方法返回给表达式,在看看StringBuffer或者StringBuilder的toString()方法的源码:


参考文章:

1.关于java的String的探讨  http://www.2cto.com/kf/201206/136505.html

2.JAVA中的String连接性能  http://www.blogjava.net/javagrass/archive/2010/01/24/310650.html

3.JDK 1.5 String API  http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值