Object类
Posted chwy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Object类相关的知识,希望对你有一定的参考价值。
Object类源码阅读:
Object类中包含的方法:
1.private static native void registerNatives();
static {
registerNatives();
}
说明:就是对几个本地方法进行注册
2.public final native Class<?> getClass();
说明:返回object运行时类。返回的是类对象。
3.public native int hashCode()
获取对象的哈希值。不可以根据hashcode值判断两个对象是否相等。因为不同的对象可能会生成相同的hashcode值。虽然不能根据hashcode值判断两个对象是否相等,
但是可以直接根据hashcode值判断两个对象不等,如果两个对象的hashcode值不等,则必定是两个不同的对象。如果要判断两个对象是否真正相等,必须通过equals方法。
如果要判断两个对象是否真正相等,必须通过equals方法。
也就是说对于两个对象,如果调用equals方法得到的结果为true,则两个对象的hashcode值必定相等;
如果equals方法得到的结果为false,则两个对象的hashcode值不一定不同;
如果两个对象的hashcode值不等,则equals方法得到的结果必定为false;
如果两个对象的hashcode值相等,则equals方法得到的结果未知。
重写equal方法,必须要重写hashCode方法。因为通过equal判断相等的两个对象,hashCode方法必须返回相同的hashCode值。
4. public boolean equals(Object obj) {
return (this == obj);
}
以上是关于Object类的主要内容,如果未能解决你的问题,请参考以下文章
如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用