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

  • 相关阅读:
    Centos 7 安装shellcheck
    cunit环境搭建
    flex序列号和破解
    windows下python SSH-Client模块paramiko的安装与修改
    history优化设置
    shell配置和vim配置
    testlink 安装方法
    python解析GBK格式xml文件
    运用Loadrunner测试Mysql数据库性能 TRON•极客
    写python用到的一些大杀器
  • 原文地址:https://www.cnblogs.com/dukc/p/4747340.html
Copyright © 2020-2023  润新知