韩顺平Java12——Object类源码

==和equals

 

 

 可以查看jdk原码

 

 

用structrue查看object类的结构

 

 public boolean equals(Object obj) {
        return (this == obj);
    }

 

String类对其进行了重写

 

public boolean equals(Object anObject) {
        if (this == anObject) {
            return true;
        }
        if (anObject instanceof String) {
            String anotherString = (String)anObject;
            int n = value.length;
            if (n == anotherString.value.length) {
                char v1[] = value;
                char v2[] = anotherString.value;
                int i = 0;
                while (n-- != 0) {
                    if (v1[i] != v2[i])
                        return false;
                    i++;
                }
                return true;
            }
        }
        return false;
    }

其他类也是一样进行了重写

 

hashcode()

 

 

 

实际上,由 Object 类定义的 hashCode 方法确实会针对不同的对象返回不同的整数。(这一般是通过将该对象的内部地址转换成一个整数来实现的,但是 JavaTM 编程语言不需要这种实现技巧。)

 

 

toString()

 

 

 

 

 

 

 

finalize()

 

 

 

 

 

 

 

posted @ 2021-12-12 23:06  紫英626  阅读(49)  评论(0编辑  收藏  举报

紫英