System类提供了一个identityHashCode(Object x)方法,这个方法返回的是指定对象的精确hashCode值,也就是根据该对象的地址计算得到的hashCode值。

当某个类的hashCode()方法被重写之后,该类实例的hashCode方法就不能唯一地标识该对象,但是如果两个对象的identityHashCode值相同,则这两个对象是一个对象。

通过以下代码加深理解:

 public class IdentityHashCodeTest{
public static void main(String[] args){
String s1=new String("Hello");
String s2=new String("Hello");
System.out.println(s1.hashCode()+"----"+s2.hashCode());
System.out.println(System.identityHashCode(s1)+"----"+System.identityHashCode(s2)); String s3="Java";
String s4="Java";
System.out.println(System.identityHashCode(s3)+"----"+System.identityHashCode(s4));
}
}

输出结果如下:

结论;

1.s1和s2虽然是不同的两个对象,它们的identityHashCode值不同,但是由于String重写了hashCode方法,改为根据字符序列计算,所以第一个输出是一样而第二个是不一样的。

2.s3和s4是相同的对象,在常量池里,所以第三个输出是一样的。

最新文章

  1. BZOJ 1078: [SCOI2008]斜堆
  2. LightOJ1126 Building Twin Towers(DP)
  3. win7下IE主页无法修改,IE设置无法保存解决方案
  4. PAT乙级 1028. 人口普查(20)
  5. html中的特殊符号
  6. Markdown简单语法总结
  7. win7下安装maven3.1.1
  8. Qt 之 入门例程(二)
  9. 在webstorm开发微信小程序之使用阿里自定义字体图标
  10. JDK 和 OpenJDK 的区别
  11. Newtonsoft.Json 时间格式化
  12. HDU 1006 Digital Roots
  13. html5与css 1. web标准及组成
  14. AI 前馈神经网络
  15. 000 Python的运行
  16. OneASP 安全公开课,深圳站, Come Here, Feel Safe!
  17. go-restful 实现一个web server
  18. jquery之Ajax(一)
  19. S3C6410 SPI全双工读写流程分析(原创)【转】
  20. Scala实战高手****第9课:Scala类和对象彻底实战和Spark源码鉴赏

热门文章

  1. Java第09次实验(IO流)--实验报告
  2. spark streaming 2: DStream
  3. Windows 10下怎么远程连接 Ubuntu 16.0.4(小白级教程)
  4. Storm之WordCount初探
  5. Jmeter(十三) JDBC Request
  6. jquery.validate.js使用之自定义表单验证规则
  7. Java学习之==>常用字符串方法
  8. gcc编译器创建和使用静态库、动态库
  9. Android IdleHandler 原理浅析
  10. MariaDB 连接查询,视图,事物,索引,外键