zoukankan      html  css  js  c++  java
  • equals方法重写

    在java中常见的equals方法的重写:

    举例:一个自定义类ball如下

    public class Ball {
        private String name;
        private int weight;
        
        public Ball(String name,int weight){
          this.name = name;
          this.weight = weight;
        }
    }

    我们可以这样重写equals方法:

     public boolean equals(Object obj){
            if(obj == null){
                return false;
            }else{
                if(obj instanceof Ball){
                    Ball ball = (Ball)obj;
                    if(this.name == ball.name&&this.weight==ball.weight){
                        return true;
                    }
                }
                
            }
            return false;
        }

    另有更简介方法如下:

    
    
     public boolean equals(Object obj){
                if(obj instanceof Ball){
                    Ball ball = (Ball)obj;
                    return this.name==ball.name&&this.weight==ball.weight)
                else{
                            return super.equals(obj);
              }
        }
     

    更严谨的写法:

     public boolean equals(Object obj){
                if(obj instanceof Ball){
                    Ball ball = (Ball)obj;
                    return    this.name.equals(obj.name)&&
                                  this.weight.equals(ball.weight);
                else{
                            return super.equals(obj);
              }
        }

    相比较上面两种,第三种更为严谨。

  • 相关阅读:
    [pycharm]远程调试服务器项目
    [Linux]防火墙关闭与开启
    [Linux]安装pyenv
    [Linux]ubuntu安装基本流程
    [python]html格式转md格式
    [python]目录及文件操作
    [Linux]安装node.js
    Linux基础
    爬虫基础(3)
    爬虫基础(2)
  • 原文地址:https://www.cnblogs.com/angangxiaofa/p/6894810.html
Copyright © 2011-2022 走看看