在java中实现类似的接口

时间:2011-03-04 06:03:04

标签: java comparable

我希望我的班级实现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
  }


}

2 个答案:

答案 0 :(得分:4)

选项1 。答案在第二个片段的评论中。你会避免显式类型转换。

选项1利用了Java Generics。以下是Generics

教程的链接

答案 1 :(得分:1)

我会毫不犹豫地称其为“正确”而另一个“不正确”,但选项1似乎“更好”。选项1使用泛型,泛型的主要好处之一是避免执行尴尬的instanceof后跟来自选项2的强制转换。但是,泛型最初不是Java的一部分,因此一些遗留代码仍然使用选项2方法。