hashCode -哈希值,Object中的方法,常根据实际情况重写

 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 }

猜你喜欢

转载自www.cnblogs.com/huxiaobai/p/11494155.html
今日推荐