equals方法--对象类Object中的方法

    技术2024-11-18  8

    比较运算符,==,比较基本数据类型的值是否相等,判断两个对象是否具有相同的引用值。

    equals呢,

    Object类中默认实现equals方法的语句如下:

    public boolean equals(Object o){

     return (this==obj);//没懂的地方,this==obj,this指什么

    }

     

    相当于Object类中使用==运算符。所以Object的子类有必要修改equals方法

     

    object1.equals(object2);

     

    常见错误:

      Object circle1=new Circle();  Object circle2=new Circle();  System.out.println(circle1.equals(circle2));

    class Circle{

     public boolean equals(Circle circle){  return this.radius==circle.radius; }

    }

    这是拿Object对象去和circle对象对比

    正解:

    public boolean equals(Object obj){  return this.radius==((Circle)obj).radius; }

     

     

    最新回复(0)