Search code examples
javacomparable

implementing a comparable interface in java


I want my class to implement the Comparable interface. Which of the following approaches is correct

Option 1:

public Myclass implements Comparable<MyClass>{

  public int compareTo(MyClass o){
   //impl here
  }

}

Option 2:

public Myclass implements Comparable{

  public int compareTo(Object o){
     //check if o  instance of my class
     //impl here
  }


}

Solution

  • Option 1. The answer is in the comments of the second snippet. You would avoid explicit type casting.

    Option 1 takes advantage of Java Generics. Here is a link to the tutorial on Generics