zoukankan      html  css  js  c++  java
  • Java重写equals

    equals()的参数可以为null。API对应的定义如下:

    public  boolean equals(Object obj)

    其比较规则为:当参数obj引用的对象与当前对象为同一个对象时,就返回true,否则返回false。

    如果传入的参数为null,表示obj没有引用的对象,那当前对象与其比较还有意义么?因为能够调用equals这个方法的对象,最重要的一个前提就是当前对象不能为null,否则就会报那个经典的java.lang.NullPointerException。

    @Override
          public boolean equals(Object obj){
               if(this == obj){//判断两个对象数否相等
                     return true;
                   }
                if(obj==null){//判断参数对象是否为空
                     return false;
                   }
                if(!(obj instanceof Course)){//判断参数的类型
                     return false;
                    }
                Course course = (Course)obj;

                //判断要满足的条件
                  if(this.name ==null){
                  if(course.name==null){
                   return true;
                     }else{
                    return false;
                    }
                       }else{
        if(this.name.equals(course.name))
          return true;
        else
          return false;
        }
       }

  • 相关阅读:
    OpenCV使用边缘提取、腐蚀、轮廓进行车牌定位
    How To Move Or Rebuild A Lob Partition
    Hadoop入门进阶步步高(三)-配置Hadoop
    [学习笔记]整体DP
    leetcode404
    leetcode349
    leetcode383
    leetcode453
    leetcode455
    leetcode167
  • 原文地址:https://www.cnblogs.com/dukc/p/4747340.html
Copyright © 2011-2022 走看看