1.getClass类
- 源码:Public final Class<?> getClass(){}
- 返回引用中储存的实际对象类型
- 应用:通常用于判断两个引用中实际存储对象类型是否一致
代码:
2.hashCode()方法
- 源码:public int hashCode(){}
- 返回该对象的哈希码值。
- 哈希值根据对象的地址或字符串或数字使用hash算法计算出来的Int类型的数值
- 一般情况下相同对象返回相同哈希吗
代码
3.toString()方法
- 源码:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}根据源码,我们有时不需要他返回这些数据,这时候就有重写toString再调用 - 返回该对象的字符串表示
- 可以根据程序需求重写该方法
代码
4.equals()方法
- 源码:public boolean equals(Object obj){}
- 默认实现为(this==obj),比较两个对象地址是否相同。
- 可进行覆盖,比较两个对象的内容是否相同
equals()方法重写
- 比较两个引用是否指向同一个对象
- 判断obj是否为null
- 判断两个引用指向的实际对象类型是否一致
- 强制类型转换
- 依次比较各个属性值是否相同
这样就变成了判断两个引用的属性是否一致