标签:objects equals 用法 导出 new 引用 静态 联系 tar
Object类是Java所有类的始祖,所有类都是在Object类上扩展而成的。如果没有明确指出继承的是什么类,那么默认就是继承Object类。
注:
1.1作用:判断两个对象是不是同一个对象,用来检测是否有同样的引用
1.2特性:
1.3(重要)== equals instanceof getclass()联系与区别:
1.4 完美equals方法编写
如果类的语义在每个子类中的语意不同 时,就使用getClass()检测
if(getClass()!=otherObject.getClass()) return false;
如果所有子类的语义相同 时,就使用 instanceof方法
if(!(otherObject instanceof Classname)) return false;
1.5 补充
对于数组类型的域,可以使用静态的 Arrays.equals 方法检测相应的数组元素是否相等
2.1用法 :hashcode(散列码)是由对象导出的一个整型值 ,散列码没有规律,两个不同的对象基本上不会相同
2.2 String与StringBuffer中的hashcode
String中的hashcode经过重写,使得字符串的hashcode是由内容导出的,所以有可能内容不一致,hashcode是一样的
StringBuffer中没有定义hashcode()方法因此,他的散列码值是由Object默认方法导出的对象存储地址
当需要组合多个散列值时,可以直接调用Objects.hash()方法
public int hashCode()
{
return Objects.hash(name,salary,hireDay);
}
标签:objects equals 用法 导出 new 引用 静态 联系 tar
原文地址:https://www.cnblogs.com/GressWu/p/12706760.html