前言:
“前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默
经过小新缜密的思考与亲身体验,忍不住分享一下给大家。有人工智能兴趣的朋友们,推荐大家一起学习 点击直接访问
里面有丰富的人工智能学习资料,真正做到从入门到入土,还不快来一起学习
个人名片:
作者简介:一名大一在校生
❄️个人主页:小新爱学习.
个人WeChat:hmmwx53
️系列专栏:零基础学java ----- 重识c语言
每日一句:“不是看到希望才去坚持,而是坚持才能看到希望”
哈希值: 是JDK 根据对象的地址或者字符串或者数字算出来的int 类型的数值
注:
Object 类中有一个方法可以获取对象的哈希值
学生类:
package com.ithmm_05;
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int hashCode(){
return 0;
}
}
测试类:
package com.ithmm_05;
/**
* 哈希值: 是JDK 根据对象的地址或者字符串或者数字算出来的int 类型的数值
* public int hashCode();返回对象的哈希码值
*/
public class HashDemo {
public static void main(String[] args) {
Student s1 = new Student("张三",35);
//同一个对象多次调用hashCode()方法返回的哈希值是相同的
System.out.println(s1.hashCode());//356573597
System.out.println(s1.hashCode());//356573597
System.out.println("------------------------");
Student s2 = new Student("张三",35);
//默认情况下,不同对象的哈希值是不相同的
//通过方法重写,可以实现不同对象的哈希值是相同的
System.out.println(s2.hashCode());//1735600054
System.out.println(s2.hashCode());//1735600054
System.out.println("hello".hashCode());//99162322
System.out.println("world".hashCode());//113318802
System.out.println("java".hashCode());//3254818
System.out.println("-------------------------");
//字符串重写了hashCode()方法
System.out.println("重地".hashCode());//1179395
System.out.println("通话".hashCode());//1179395
}
}
注:默认情况下,不同对象的哈希值是不相同的
通过方法重写,可以实现不同对象的哈希值是相同的