0

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 } } 

2 Answers 2

4

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

Sign up to request clarification or add additional context in comments.

Comments

1

I'd hesitate to call one "correct" and the other "incorrect," but option 1 seems "better." Option 1 uses generics, and one of the primary benefits of generics is to avoid doing the awkward instanceof followed by a cast from Option 2. However, generics were not originally part of Java, so some legacy code still uses the Option 2 approach.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.