java API——Obeject类源码分析

    xiaoxiao2025-06-11  35

            类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。 

    一、重要方法介绍:

    (1)hashCode

    源码:

    public native int hashCode(); 需要子类去根据自身特点实现。

    (2)equals

    源码:

    public boolean equals(Object obj) { return (this == obj); } 底层使用==实现的,而==比较的是值。如下图,比较的是a和b指向的值

    (3)toString

    源码:

    public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); }二、基本数据类型对Object的继承 (1)基本数据,四类八种

    (2)以Long类型为例:

    1)底层hashcode

    public int hashCode() { return (int)(value ^ (value >>> 32)); } 可以看出hashcode的值是通过值算出来的,hashcode是唯一的

    2)equals方法

    public boolean equals(Object obj) { if (obj instanceof Long) { return value == ((Long)obj).longValue(); } return false; } 可以看出基本类型底层也是等号实现的,比较的值。

    转载请注明原文地址: https://ju.6miu.com/read-1299818.html
    最新回复(0)