• hashcode native


    hashcode

    Java中的hashCode方法就是根据一定的规则将与对象相关的信息(比如对象的存储地址,对象的字段等)映射成一个数值,这个数值称作为散列值。

    在设计hashCode方法和equals方法的时候,如果对象中的数据易变,则最好在equals方法和hashCode方法中不要依赖于该字段。

    因此有人会说,可以直接根据hashcode值判断两个对象是否相等吗?肯定是不可以的,因为不同的对象可能会生成相同的hashcode值。虽然不能根据hashcode值判断两个对象是否相等,但是可以直接根据hashcode值判断两个对象不等,如果两个对象的hashcode值不等,则必定是两个不同的对象。如果要判断两个对象是否真正相等,必须通过equals方法。

      也就是说对于两个对象,如果调用equals方法得到的结果为true,则两个对象的hashcode值必定相等;

      如果equals方法得到的结果为false,则两个对象的hashcode值不一定不同;

      如果两个对象的hashcode值不等,则equals方法得到的结果必定为false;

      如果两个对象的hashcode值相等,则equals方法得到的结果未知。

    native

    native关键字的函数都是操作系统实现的,java只能调用,

    java是跨平台的,所牺牲的代价就是失去对底层操作系统的控制.

    native   http://xiaotao-2010.iteye.com/blog/1249006

    hashcode  http://www.cnblogs.com/dolphin0520/p/3681042.html 

  • 相关阅读:
    设计模式复习-状态模式
    设计模式复习-观察者模式
    设计模式复习-建造者模式
    设计模式复习-外观模式
    推荐算法-协同过滤
    设计模式复习-模板方法模式
    设计模式复习-原型模式
    设计模式复习-代理模式
    神经网络与机器学习 笔记—泛化和交叉验证
    神经网络与机器学习 笔记—改善反向传播的性能试探法
  • 原文地址:https://www.cnblogs.com/hym-pcitc/p/5969794.html
Copyright © 2020-2023  润新知