fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. Ideone app = new Ideone() ;
  13. app.demo() ;
  14. }
  15.  
  16. private void demo() {
  17. Person p1 = new Person( "JJ" ) ;
  18. Person p2 = new Person( "JJ" ) ;
  19. System.out.println( p1.equals( p2 ) );
  20. System.out.println( p1.equals( p2 ) );
  21. }
  22.  
  23. class Person {
  24. public String name ;
  25.  
  26. public Person ( String name ) {
  27. this.name = Objects.requireNonNull( name ) ;
  28. }
  29.  
  30. @Override
  31. public boolean equals( Object o ) {
  32. System.out.println( "Running override, Object argument." ) ;
  33. Person otherPerson = ( Person ) o ;
  34. boolean match = Objects.equals( this.name , otherPerson.name ) ;
  35. return match ;
  36. }
  37.  
  38. // Overload
  39. public boolean equals( Person p ) {
  40. System.out.println( "Running overload, Person argument." ) ;
  41. boolean match = Objects.equals( this.name , p.name ) ;
  42. return match ;
  43. }
  44. }
  45.  
  46. }
Success #stdin #stdout 0.08s 48756KB
stdin
Standard input is empty
stdout
Running overload, Person argument.
true
Running overload, Person argument.
true