黑马程序员技术交流社区

标题: Java基础--Object类及equals()、toString()方法 [打印本页]

作者: michael_wlq    时间: 2015-8-30 20:50
标题: Java基础--Object类及equals()、toString()方法
本帖最后由 michael_wlq 于 2015-8-30 20:56 编辑

Object类:Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。

equals()方法
public boolean equals(Object obj)
指示其他某个对象是否与此对象“相等”。 equals 方法在非空对象引用上实现相等关系:
Object 类的 equals 方法实现对象上差别可能性最大的相等关系;即,对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true(x == y 具有值 true)。
注意:当此方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码。
参数:obj - 要与之比较的引用对象。返回:如果此对象与 obj 参数相同,则返回 true;否则返回 false。----------------------------------------------------------------------------------------------------------------------------------------------------------------
toString()方法
public String toString()
toString()返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。 Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
返回:该对象的字符串表示形式。

【注意】通过API给出的Object类中定义的equals()和toString()方法可以看出,在子类中直接使用这两个方法实际意义不大,所以通常子类都会根据自身的返回值需要重写这两个方法。














欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2