Equals、ToString、反射
Equals方法
??? Object类中的equals方法用于检测一个对象是否等于另一个对象。在Object类中,这个方法将判断两个对象是否具有相同的引用,如果有相同引用,那么它们一定的相等的。但一般,我们经常需要检测两个对象的状态(值)是否相等,单纯判断两个对象是否相等意义不大,下面是一个完美的equals方法:
??? 1.参数为otherObject
??? 2.if(this == otherObject) return true;
??? 3.if(otherObject == null) return false;
??? 4.if(getClass() != otherObject.getClass()) return false;
??? 5.if(!(otherObject instanceOf ClassName)) return false;
??? 6.将otherObject转换为相应的类型
?????????? ClassName other = (ClassName)otherObject;
??? 7.现在开始对要比较的域进行比较了,基本类型用==比较,对象用equals比较。
Equals与hashCode的定义必须一致,如果a.equals(b) return true;那么a.hashCode 必须与 b.hashCode有相同的值。
?
ToString方法:
??? Object中的重要方法,返回对象的字符串值,下面是toString的通用方法(java核心技术引用)
??? 一般forName与newInstance配合使用,创建一个对象
?
??? (3)一个Class对象实际上表示的是一个类型,而这个类型未必一定是一种类
???? 5.通用的数组扩展长度方法