哈希值:
.是jdk根据 对象的地址 或者 字符串 或者 数字 算出来的int类型的数值
object类中有一个方法可以获取对象的哈希值
.public int hashcode(); 返回对象的哈希码值
对象的哈希值特点
.同一个对象多次调用hashcode()方法返回的哈希值是相同的
.默认情况下,不同对象的哈希码值是不同的,二=而重写hashcode()方法,可以实现让不同对象的哈希值相同
- package hashcode哈希值;
-
- public class hashdemo {
- /*
- 哈希值:
- .是jdk根据 对象的地址 或者 字符串 或者 数字 算出来的int类型的数值
-
- object类中有一个方法可以获取对象的哈希值
- .public int hashcode(); 返回对象的哈希码值
-
- 对象的哈希值特点
- .同一个对象多次调用hashcode()方法返回的哈希值是相同的
- .默认情况下,不同对象的哈希码值是不同的,二=而重写hashcode()方法,可以实现让不同对象的哈希值相同
- */
-
- public static void main(String[] args) {
- // TODO 自动生成的方法存根
- student s1 =new student("林青霞",30);
-
- //同一个对象多次调用hashcode()方法返回的哈希码值实现功德是相同的
- System.out.println(s1.hashCode());//495792375
- System.out.println(s1.hashCode());//495792375
- /*--------------------*/System.out.println("-------------------------------"); /*---------------------*/
- //默认情况下,不同对象的哈希码值是不相同的
- //通过方法重写,可以实现不同对象的哈希码值是一样的
- student s2 =new student("林青霞",30);
- System.out.println(s2.hashCode());//1045941616
- /*--------------------*/System.out.println("-------------------------------"); /*---------------------*/
- System.out.println("hello".hashCode());//99162322
- System.out.println("world".hashCode());//113318802
- System.out.println("java".hashCode());//3254818
-
- System.out.println("java".hashCode());//3254818
- /*--------------------*/System.out.println("-------------------------------"); /*---------------------*/
- //字符串重写了hashcode的方法,否则这两个的哈希码值是不会一样的
- System.out.println("重地".hashCode());//1179395
- System.out.println("通话".hashCode());//1179395
-
-
- }
-
- }