JAVA中Object类中的equals方法补充

Object类中的equals方法:
    无论new多少个对象,当使用 "= =" 来判断的时候,是判断内存地址。判断回事false

若是需要进行对象之间的判断,则需要重写equals方法:

    public boolean equals(Object obj)//obj是传入的形式参数(对象)
    {
        if (obj == null)//判断对象是否为空
        {
            return false;//空则返回false
        }
        else
        {
            if ( obj instanceof cat)//判断这个传入参数(对象)是否丛cat这个类创建而来
            {
                cat c = (cat) obj;//将这个obj对象强制转换成cat类型
                if (c.A == this.A && c.B == this.B)//判断这个c对象中的成员变量是否与cat类中的成员变量相同
                {
                    return true;//是则true
                }
                else
                {
                    return false;//否则flase
                }
            }
            else
            {
                return false;//不是从cat创建来的则返回flase
            }
        }

    }

原文地址:https://www.cnblogs.com/dongwei-home/p/9484940.html

时间: 2024-10-13 05:04:04

JAVA中Object类中的equals方法补充的相关文章

java的Object类中hashCode()和equals()方法-----转载

JAVA代码:    public static void main(String[] args)    {        Object obj1 = new Object();        Object obj2= new Object();        Object obj3 = obj2;        System.out.println("obj1==obj2 ?"+obj1.equals(obj2));        System.out.println("o

java.long.object类中的重要方法

一:概念 java.long.object Object类是所有Java类的祖先.每个类都使用 Object 作为超类. 二:方法概览 clone() 创建并返回此对象的一个副本. equals(Object obj) 指示某个其他对象是否与此对象“相等”. finalize() 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法.(JVM中自带的垃圾回收机制只能回收new出的对象) getClass() 返回一个对象的运行时类. hashCode() 返回该对象的哈希码值

Java关于Object类中equal方法的理解

话不多说,先上例题 1 package Ch_11; 2 3 public class Test { 4 public static void main(String[] args) { 5 Object circle1 = new Circle(); 6 Object circle2 = new Circle(); 7 System.out.println(circle1.equals(circle2)); 8 } 9 } 10 11 class Circle { 12 double radi

Java中Object类中的方法

Java的Object类是所有类的顶级父类,方法如下: 1. hashCode(),返回一个hash值,两个对象的hash值不同,那么两个对象equals肯定为false.hash相同,equals不一定为true. 2. equals() 3. clone() 只有实现Cloneable接口的对象才可以调用这个方法.clone()是浅复制.如果对象里面又关联其他对象那么需要重写clone()方法才能深复制.深复制是针对引用类型而言的,基本数据类型不用考虑.序列化也可以实现深复制. 4. toS

问题1、java.lang中String类和Object类中的equals方法比较

String类中的equals方法重写了Object类中的equals方法,下面通过代码来比较二者的不同之处: 一.String类 1. String s1 = "String"; String s2 = "String"; System.out.println(s1 == s2 ); System.out.println(s1.equals(s2));

Object 类中的 equals方法

1 相等与同一 如果两个对象具有相同的类型以及相同的属性值,则称这两个对象相等.如果两个引用对象指的是同一个对像,则称这两个变量同一.Object类中定义的equals 函数原型为:public boolean equals(Object);他是判断两个对象是否同一,并不是是否相等. 2 equals方法 由于Object 类是所有类的最高基类,所有其他类都继承类Object类的equals()方法,定义原型如下: public boolean equals (Object x){ return

Object类中的toString(),equals(), hashCode()方法之间的关系

1.在没有重写之前: 1) toString()方法返回的是对象的:Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例).at 标记符"@"和此对象哈希码的无符号十六进制表示组成.换句话说,该方法返回一个字符串,它的值等于: getClass().getName() + '@' + Integer.toHexString(hashCode())  比如:[email protected] 2) equals():对于任何非空引用值 x 和 y

Java 中正确使用 hashCode 和 equals 方法

在这篇文章中,我将告诉大家我对hashCode和equals方法的理解.我将讨论他们的默认实现,以及如何正确的重写他们.我也将使用Apache Commons提供的工具包做一个实现. 目录: hashCode()和equals()的用法 重写默认实现 使用Apache Commons Lang包重写hashCode()和equals() 需要注意记住的事情 当使用ORM的时候特别要注意的 hashCode()和equals()定义在Object类中,这个类是所有java类的基类,所以所有的jav

Java中编写一个完美的equals方法

首先看下Java语言规范对equals方法的要求: 1,自反性,对于任何非控引用x,x.equals(x)都应该返回true. 2,对称性,对于任何引用x和y,如果x.equals(y)返回true,那么y.equals(x)也应该返回true. 3,传递性,如果x.equals(y),y.equals(z)都返回true,那么,x.equals(z)返回true. 4,一致性,如果x和y引用的对象没有发生变化,那么无论调用多少次x.equals(y)都返回相同的结果. 5,对于任意非空引用x,