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 都相等

          

     

  • 相关阅读:
    爬虫防止浏览器防止debug处理
    php
    代码日记
    Linux定时任务
    Linux 三剑客(Awk、Sed、Grep)
    golang中使用ETCD
    golang中使用mysql数据库
    golang中使用Redis
    Linux进阶知识和命令
    Linux核心命令使用方法
  • 原文地址:https://www.cnblogs.com/bug1024/p/11238538.html
Copyright © 2011-2022 走看看