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

    }
    }
     
  • 相关阅读:
    css3很美的蟠桃动画
    EXCEL countif函数多条件
    R语言介绍
    【转】Docker:Docker Compose 详解
    【转】Linux基础命令-curl
    【转】进入正在运行的Docker容器的4种方式
    【转】yum和apt-get的区别
    【转】laravel框架中 session保存到Redis中
    【转】Laravel 控制器 Controller 传值到 视图 View 的几种方法总结
    【转】Laravel中使用门面模式(Facade)
  • 原文地址:https://www.cnblogs.com/lxy522/p/12811799.html
Copyright © 2011-2022 走看看