package com; //该文档演示了比较两个对象 == 和 equals 的区别;包含 equals 的重写快捷方法。 import java.util.Objects; public class Equals { public static void main(String[] args) { //创建了两个对象:s1 s2 User s1=new User(101,"tim"); User s2=new User(101,"tim"); //通过 == 判断两个对象是否一致 System.out.println(s1==s2); //通过equals判断两个对象是否一致,这里我选择比较大的属性是id和name,你也可以通过重写equals只比较其中一项 System.out.println(s1.equals(s2));//用equals判断两个对象是否一致是,需要重写equals。 } } //创建类User class User{ int id;//id属性 String name;//name属性 User(int id,String name){//重载构造器 this.id=id; this.name=name; } //重写equals的方法为alt+insert快捷键,选择生成equals。选择想要作为判断依据的属性。 @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; User user = (User) o; return id == user.id && Objects.equals(name, user.name); } @Override public int hashCode() { return Objects.hash(id, name); } }
equals重写
最新推荐文章于 2022-04-08 19:56:47 发布
本文详细解释了Java中对象equals()方法与==运算符在判断对象相等时的不同之处,并展示了如何在User类中重写equals方法以根据id和name属性进行比较。通过实际代码演示,帮助读者掌握对象比较的正确使用。
摘要由CSDN通过智能技术生成