我希望我的班级实现Comparable
界面。以下哪种方法是正确的
选项1:
public Myclass implements Comparable<MyClass>{
public int compareTo(MyClass o){
//impl here
}
}
选项2:
public Myclass implements Comparable{
public int compareTo(Object o){
//check if o instance of my class
//impl here
}
}
答案 0 :(得分:4)
选项1 。答案在第二个片段的评论中。你会避免显式类型转换。
选项1利用了Java Generics。以下是Generics
教程的链接答案 1 :(得分:1)
我会毫不犹豫地称其为“正确”而另一个“不正确”,但选项1似乎“更好”。选项1使用泛型,泛型的主要好处之一是避免执行尴尬的instanceof
后跟来自选项2的强制转换。但是,泛型最初不是Java的一部分,因此一些遗留代码仍然使用选项2方法。