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;
        }
       }

  • 相关阅读:
    小程序模板
    小程序 if else
    小程序入门小知识
    懒加载
    展示效果
    五星评价
    萤火虫效果
    下雪效果
    选项卡
    VUE组件中 data 里面的数据为什么要return 出来
  • 原文地址:https://www.cnblogs.com/dukc/p/4747340.html
Copyright © 2011-2022 走看看