1. public int hashCode()
    1. 返回该对象的哈希码值。默认情况下,该方法会根据对象的地址来计算。
    2. 不同对象的,hashCode()一般来说不会相同。但是,同一个对象的hashCode()值肯定相同。
    1. Object o = new Object();
    2. int hashCode = o.hashCode();
    3. //public native int hashCode();
    4. //native 借助本地系统资源 计算hashCode
    5. System.out.println(hashCode);//460141958
    6. Student sally = new Student("sally", 18);
    7. Student liming = new Student("liming", 22);
    8. System.out.println(sally.hashCode());//1163157884
    9. System.out.println(liming.hashCode());//1956725890

    cn.giteasy.common.Student.java

    1. package cn.giteasy.common;
    2. public class Student {
    3. private String name;
    4. private int age;
    5. public Student() {
    6. }
    7. public Student(String name, int age) {
    8. this.name = name;
    9. this.age = age;
    10. }
    11. public String getName() {
    12. return name;
    13. }
    14. public void setName(String name) {
    15. this.name = name;
    16. }
    17. public int getAge() {
    18. return age;
    19. }
    20. public void setAge(int age) {
    21. this.age = age;
    22. }
    23. @Override
    24. public boolean equals(Object obj) {
    25. Student stu = (Student) obj;
    26. return this.name.equals(stu.getName()) && this.age == stu.getAge();
    27. }
    28. @Override
    29. public String toString() {
    30. return "Student{" +
    31. "name='" + name + '\'' +
    32. ", age=" + age +
    33. '}';
    34. }
    35. }