哈希值:
.是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
}
}