zoukankan      html  css  js  c++  java
  • 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 都相等

          

     

  • 相关阅读:
    java保留字
    12个不可不知的Sublime Text应用技巧和诀窍
    人生准则
    基于Android 的蓝牙A2DP 功能的实现
    蓝牙协议栈详解
    我的2015计划
    今日学习
    滤波器介绍
    STLINK V2安装使用详解
    javascript闭包
  • 原文地址:https://www.cnblogs.com/bug1024/p/11238538.html
Copyright © 2011-2022 走看看