String 字符串不变性

1、字符串不变性

查看源码发现:
    String是一个final类,且3个成员都是私有的,这就意味着String是不能被继承的,
    这就防止出现:程序员通过继承重写String类的方法的手段来使得String类是“可变的”的情况
    (1)final类 和 final的私有成员
    (2)改变即创建对象的方法
 

2、equals()方法、hashCode()放法的区别



    HashCode被设计用来提高性能。equals()方法与hashCode()方法的区别在于:
    如果两个对象相等(equal),那么他们一定有相同的哈希值。
    如果两个对象的哈希值相同,但他们未必相等(equal)。

    为什么要选31作为乘数呢?
    31是一个不大不小的质数,是作为 hashCode 乘子的优选质数之一。
    31可以被 JVM 优化,31 * i = (i << 5) - i。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值