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 }