fork download
  1. import java.util.Objects;
  2.  
  3. class Person {
  4. String name;
  5. int age;
  6.  
  7. Person(String name, int age) {
  8. this.name = name;
  9. this.age = age;
  10. }
  11.  
  12. @Override
  13. public boolean equals(Object obj) {
  14. if (this == obj) return true; // Check reference equality
  15. if (obj == null || getClass() != obj.getClass()) return false; // Check type
  16. Person person = (Person) obj;
  17. return age == person.age && name.equals(person.name); // Check logical equality
  18. }
  19.  
  20. public String toString() {
  21. return this.name+" "+this.age;
  22. }
  23.  
  24. public static void main(String[] args) {
  25. Person p1 = new Person("Alice", 25);
  26. Person p2 = new Person("Alice", 25);
  27. Person p3 = new Person("Bob", 30);
  28.  
  29. System.out.println(p1.equals(p2)); // true (same name and age)
  30. System.out.println(p1.equals(p3)); // false (different name and age)
  31.  
  32. System.out.println(p1); // true (same content)
  33. System.out.println(p3); // false (different content)
  34. }
  35. }
  36.  
Success #stdin #stdout 0.13s 57616KB
stdin
Standard input is empty
stdout
true
false
Alice 25
Bob 30