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

    重写Object的equals方法

    public class Person {
       private String name;
       private int age;

       public Person() {
      }

       public Person(String name, int age) {
           this.name = name;
           this.age = age;
      }

       public String getName() {
           return name;
      }

       public void setName(String name) {
           this.name = name;
      }

       public int getAge() {
           return age;
      }

       public void setAge(int age) {
           this.age = age;
      }

       /*@Override
       public boolean equals(Object o) {
           if (this == o) {
               return true;
           }
           if (o == null || getClass() != o.getClass()) {
               return false;
           }

           Person person = (Person) o;

           if (age != person.age) {
               return false;
           }
           return name != null ? name.equals(person.name) : person.name == null;
       }*/

       @Override
       public boolean equals(Object o) {
           if (this == o) {
               return true;
          }
           if (o == null || getClass() != o.getClass()) {
               return false;
          }
           Person person = (Person) o;
           return age == person.age &&
                   Objects.equals(name, person.name);
      }

       @Override
       public int hashCode() {
           int result = name != null ? name.hashCode() : 0;
           result = 31 * result + age;
           return result;
      }

    }

    容忍空指针的Objects.equals()比较方法

    public class Demo01Main {
    public static void main(String[] args) {

    String a = "haha";
    String b = null;

    boolean equals = Objects.equals(a, b);
    System.out.println(equals);

    }
    }
     
  • 相关阅读:
    ASP.NET Core 2.2 基础知识(二) 中间件
    ASP.NET Core 2.2 基础知识(一) 依赖注入
    初识.NET Core
    volatile 和 Interlocked
    线程池
    MySQL 将某个字段值的记录排在最后,其余记录单独排序
    MySQL 一张表中两个字段值互换
    (转) C#解惑:HashSet<T>类
    利用 ildasm 修改被编译后DLL文件
    shell 字符串判断
  • 原文地址:https://www.cnblogs.com/lxy522/p/12811799.html
Copyright © 2011-2022 走看看