JAVA学习记录 -- String

4 篇文章 0 订阅
1 篇文章 0 订阅

JAVA学习记录 – String


String对象创建

String对象的创建既可以按照String a = "abc" 的方式,也可以按照String a = new String("abc")的方式创建。无论是哪种方式,创建的string对象都是指向JVM里面存储的内容。所以不能使用==和’!=’来判定string对象是否相等,因为使用==!=比较的是对象的地址。而同一个对象在JVM中一般情况下都是同一个地址的。应使用equals等进行比较1

String拼接

String对象的拼接可以使用+StringBuilderStringBuffer这三种方式。

  • 对于使用+这种方式,实际上是在每次链接字符串时构建新的string对象,这样既耗时又浪费空间,不推荐使用。
  • StringBuffer是多线程安全的,源码中的很多方法都是用关键字synchronized修饰的,效率会低一些。
  • StringBuilder是JDK5.0引入的,和StringBufferd的实现类似,只是StringBuilder不是多线程安全的,安全性要比StringBuffer差,效率要比StringBuffer高一些。StringBuilder可以和关键字synchronized配合使用达到多线程安全。在非特殊需求的情况下,推荐使用StringBuilder。

  1. 如果string对象比较时,如果其中一个是常量,好的习惯是"abc".equals(a),而不是a.equals("abc"),这样可以避免string对象为null时抛出异常的情况。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值