哈希值 - 重写

package cn.itcast.day12.demo02;

/**
 * @author admin
 * @version 1.0.0
 * @ClassName Demo04.java
 * @Description TODO
 * @createTime 2021年09月24日 18:25:00
 */


/**
 * hashCode方法的源码
 * public native int hashCode();
 * native代表该方法调用的是本地操作系统的方法
 */
public class Demo04 extends Object {
    public static void main(String[] args) {
        /**
         * 这个Person类一开始是直接new的 哈希值输出打印为460141958
         * 后面为了试验重写 new了一个Person类 继承Object类 重写了hashcode方法中的返回值 为1
         */
        Person person = new Person();
        int i = person.hashCode();
        System.out.println("i = " + i);//i = 460141958

        Person person1 = new Person();
        int i1 = person1.hashCode();
        System.out.println("i1 = " + i1);//i1 = 1163157884

        /**
         * toString方法的源码
         *   public String toString() {
         *         return getClass().getName() + "@" + Integer.toHexString(hashCode());
         *     }
         */
        System.out.println("person = " + person);//person = cn.itcast.day11.demo01.Person@1b6d3586
        System.out.println("person1 = " + person1);//person1 = cn.itcast.day11.demo01.Person@4554617c
        System.out.println(person == person1);//false

        /**
         * String类的哈希值
         * String类重写Object类的hashcode方法
         *
         * 重写:重新是子类和父类之间 子类重写父类的方法
         *
         */
        String s1 = "sadfas";
        String s2 = "sadfas";
        System.out.print(s1.hashCode() + "  ");//这两个hashcode值是一样的-909953150  -909953150
        System.out.println(s2.hashCode());

        /**
         * 这两个字符串比较特殊 字符串不一样但是哈希值是一样的
         * 1179395
         * 1179395
         * 这就是哈希值 一个十进制的整数
         */
        System.out.println("重地".hashCode());
        System.out.println("通话".hashCode());


    }
}

Person类

package cn.itcast.day12.demo02;

/**
 * @author admin
 * @version 1.0.0
 * @ClassName Demo05.java
 * @Description TODO
 * @createTime 2021年09月24日 18:55:00
 */

public class Person extends Object{
    @Override
    public int hashCode() {
        return 1;
    }
}

おすすめ

転載: blog.csdn.net/nanyangnongye/article/details/120461337
おすすめ