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

最新文章

  1. Python 逐行修改txt每条记录的内容
  2. 合同主体列表添加两条合同主体,返回合并支付页面,支付总弹"请选择合同主体",删除后,竟然还能支付(改合并支付页面的字段状态)
  3. CodeForces - 405C
  4. 对Docker的价值和应用场景分析
  5. Python执行系统命令的方法
  6. maven打包源代码sources.jar和javadoc.jar帮助文档
  7. 说说对C语言指针的理解
  8. css之display:inline-block与float区别(可以尝试用一下)
  9. C++要点
  10. 类型自动转换引起的误解——QString可以赋值数字1,也能直接与0比较,真是昏倒!
  11. Optimizing Java笔记:高级垃圾回收
  12. Shell常用快捷键
  13. db2look 工具
  14. QQ的小秘密
  15. ngnix +tomcat7 简单配置
  16. 解决IE6下透明图片有背景的问题
  17. Spring4源码解析:BeanDefinition架构及实现
  18. call()和apply()方法(切换上下文)
  19. Druid Monitor小记
  20. thinkphp5.0环境变量配置

热门文章

  1. API接口设计
  2. LINUX “软链接”和“硬链接”的区别
  3. 选择排序--python
  4. 循环Gray码的生成(递归)
  5. Linux文件与目录操作 ls 命令(2)
  6. 搜索专题: HDU1258Sum It Up
  7. django基础知识之认识MVT MVC??
  8. UVA 11354 Bond 最小生成树 + lca
  9. iOS手势操作,拖动,轻击,捏合,旋转,长按,自定义(http://www.cnblogs.com/huangjianwu/p/4675648.html)
  10. 互联网技术笔试总通不过?leetcode刷对了么