• 【11】 Java基础 <十一> —— equals的重写


    equals  是在Object方法中定义的,直接用==来实现的,如果想比较具体的值,需要重写

    重写equals方法

     1 User.java
     2 
     3 public class User {
     4 
     5     String name;
     6 
     7     public String getName() {
     8         return name;
     9     }
    10 
    11     public void setName(String name) {
    12         this.name = name;
    13     }
    14     User(String name){
    15         this.name= name;
    16     }
    17 
    18     @Override
    19     public String toString() {
    20         return "User [name=" + name + "]";
    21     }
    22 
    23     @Override
    24     public int hashCode() {
    25         final int prime = 31;
    26         int result = 1;
    27         result = prime * result + ((name == null) ? 0 : name.hashCode());
    28         return result;
    29     }
    30 
    31     @Override
    32     public boolean equals(Object obj) {
    33         if (this == obj)
    34             return true;
    35         if (obj == null)
    36             return false;
    37         if (getClass() != obj.getClass())
    38             return false;
    39         User other = (User) obj;
    40         if (name == null) {
    41             if (other.name != null)
    42                 return false;
    43         } else if (!name.equals(other.name))
    44             return false;
    45         return true;
    46     }
    47 
    48 }

    测试重写好的方法

     1 Test.java
     2 
     3 public class Test {
     4 
     5     public static void main(String[] args) {
     6         
     7         
     8         User uz = new User("张三");
     9         User ul = new User("张三");
    10         
    11         
    12         System.out.println(uz.equals(ul));
    13     }
    14 }
    青春看起来如此完美, 没空闲去浪费时间。 <我们最后的话——刺猬>
  • 相关阅读:
    文件操作
    set集合,深浅拷贝
    is 和 == 区别 id()函数
    字典
    列表
    基本数据类型
    第十二章 if测试和语法规则
    第十一章 赋值、表达式和打印
    第十章 python语句简介
    第九章元组、文件及其他
  • 原文地址:https://www.cnblogs.com/WangJing0506/p/8546434.html
Copyright © 2020-2023  润新知