我不确定如何在我的抽象类中实现一个可比较的接口。我有下面的示例代码,我正在使用它来尝试理解它:
public class Animal{
public String name;
public int yearDiscovered;
public String population;
public Animal(String name, int yearDiscovered, String population){
this.name = name;
this.yearDiscovered = yearDiscovered;
this.population = population; }
public String toString(){
String s = "Animal name: "+ name+"\nYear Discovered: "+yearDiscovered+"\nPopulation: "+population;
return s;
}
}
我有一个测试类,它将创建Animal类型的对象,但是我希望在这个类中有一个可比较的接口,以便较早发现的年份排名高于较低的排名。我不知道如何去做这件事。
发布于 2014-02-07 19:25:52
您只需定义该Animal implements Comparable<Animal>
,即public class Animal implements Comparable<Animal>
。然后,您必须按照自己喜欢的方式实现compareTo(Animal other)
方法。
@Override
public int compareTo(Animal other) {
return Integer.compare(this.year_discovered, other.year_discovered);
}
使用compareTo
的这个实现,具有更高year_discovered
的动物将得到更高的排序。我希望您能通过这个例子理解Comparable
和compareTo
的概念。
发布于 2014-02-07 19:25:38
在类中实现Comparable<Animal>
接口,并在类中提供int compareTo(Animal other)
方法实现。See This Post
发布于 2014-02-07 19:25:59
您需要实现该接口并定义compareTo()方法。要获得好的教程,请访问- Tutorials point link或MyKongLink
https://stackoverflow.com/questions/21626439
复制相似问题