• hashCode 和 equals ==


    1.所有类直接或者间接集成Object 类   hashCode  和 equals 是可以重写   

       == java 规定不能重新   ==用于比较引用和比较基本数据类型时具有不同的功能:
    比较基本数据类型,如果两个值相同,则结果为true
    而在比较引用时,如果引用指向内存中的同一对象,结果为true

     Object  类中equals   默认实现,

    hashCode   的 默认实现  JDK 自动实现计算的int 型

    通常很多类都重新这两个方法 

    一般规定

    1. 如果两个对象相同,就是适用于equals(java.lang.Object) 方法,那么这两个对象的hashCode一定要相同
    2. 两个对象的hashCode相同,并不一定表示两个对象就相同,也就是不一定适用于equals(java.lang.Object) 方法,只能够说明这两个对象在散列存储结构中,如Hashtable,他们“存放在同一个篮子里

    String 类重新的方法

       根据val 值计算 hash

     判断value 值的每一个字符都相同

    在Hash 集合中 的重写

      hashCode 是 key 和 value hash 的  异或

      equals 为 key 和 value 都相等

          

     

  • 相关阅读:
    字符编码解码
    综合练习[购物车]
    for 循环实例
    数据类型
    字符串格式化输出
    集成开发环境
    while循环实例
    赋值运算符、逻辑运算符、表达式
    if,else语句猜最大值
    计算今天和今天的上一月的日期
  • 原文地址:https://www.cnblogs.com/bug1024/p/11238538.html
Copyright © 2020-2023  润新知