JAVA 重载“+”

这几天搞java,老是在System.out.println(“buf"+buf);,对中间的“+”很是迷惑!!!
按照println(string s),先要把参数转化为字符串,然后把字符串里面的字符转化为字节,按照write(int)打印出来。
所以按照我的想法肯定是:
一,先将buf按照buf 的tostring方法转化为字符串。(如果buf没有重写tostring,那就会调用object的tostring,那么打印出来的:类名+@+哈希值)
二,生成一个新的String,并将“buf”和buf.tostring连接起来(相当于有一个append()方法),然后赋值给新的String。这样解释也合情合理的。
问题来了,如果我是System.out.println(“buf"+buf+“asdf”+"fdgdsfg");那么系统至少要生成四个String,其实这样可以实现该功能的,但是这样生成,然后析构,很浪费系统资源的。

今天在Thing in java 看到一个StringBuilder类:一个可变的字符序列。然后利用他的append(String)的方法,把每个字符串连接起来,一下子完美解决上述问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值