java 值传递 引用传递的理解 言简意赅 一字千金



用StringBuffer的次数还真是少,appand这个方法是StringBuffer独有的,

String是字符串,而字符串是对象,对象里有一个概念叫做可变对象非可变对象

String属于非可变对象,传递的是引用的地址 不存在地址指向的值被改变的情况,

保证了引用传递的准确性,除非给变量赋值了新的地址,String作为参数传递时是

值传递,值指的是对象的引用的地址!

StringBuffer属于可变对象

可能有人会问String str=“aa”;str="bb";这句话也能通过编译啊,没有任何错误啊,是的,这句话的确没有一丁点的错误,不过你忽略了一点,就是“aa”和“bb”是字符串吧,字符串是对象吧,他们压根就不是一个对象,

说String是不可变对象,其实在String str="aa"这句话其实是一个引用的使用,他引用到了一个对象,str在等于“aa”之前他所指向的地址和后来并不是一样的,就是说他并不是把值给了str,而是把对象的引用给了他,换句话说就是把对象的地址给了他,然而你想改变“aa”这个对象地址的数据通过String是不可能实现的


如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,

如果最后需要String,那么使用StringBuffer的toString()方法好了!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值