1 package cn.learn.collection; 2 3 import cn.learn.basic.Phone; 4 5 /* 6 哈希值:是一个十进制的整数,由系统随机给出(就是对象的地址值),是一个逻辑地址,是模拟出来的地址,不是数据实际存储的物理地址 7 在祖宗类Object中,有个方法可以获取哈希值 8 public int hashCode(); 9 hashCode方法源码: 10 public native int hashCode(); 11 native 代表该方法调用的是本地操作系统的方法 12 13 */ 14 public class HashCode_Object { 15 public static void main(String[] args) { 16 Phone phone = new Phone(); 17 int hash=phone.hashCode(); 18 System.out.println(hash); //一个十进制的整数793589513 19 20 /* 21 Object的toString方法的源码 22 public String toString() { 23 return getClass().getName() + "@" + Integer.toHexString(hashCode()); 24 } 25 */ 26 System.out.println(phone); //cn.learn.basic.Phone@2f4d3709 27 28 /* 29 String类的哈希值 30 String类重写Object类的hashCode方法 31 */ 32 System.out.println("dsasd".hashCode()); 33 System.out.println("dsad".hashCode()); 34 } 35 }