gpt4 book ai didi

java - 使用另一个类的compareTo方法

转载 作者:太空宇宙 更新时间:2023-11-04 12:47:01 25 4
gpt4 key购买 nike

我有一个名为classes的类,它有这个compareto方法:

@Override
public int compareTo(Object other) {
Cours ot = (Cours)other;
String heure2 = ot.heure;
int autre = Integer.parseInt(heure2.substring(0,2));
int le = Integer.parseInt(this.heure.substring(0,2));

if (autre > le) {
return 1;
}

if (autre == le) {
return 0;
} else {
return -1;
}

}

我有另一个名为day的类,它有一个列表:

private List<Cours> journee;

以及对类进行排序的方法:

public void TrieListe() {
Collections.sort(journee);
}

当我使用 TrieListe() 时,一切正常,我可以对列表进行排序。

但我添加了另一个名为 Weeks 的类,其中包含 Days 列表现在我想使用该类中的 TrieList() :

private List<Days> leWeek;

public void TrieListe() {
Collections.sort(leWeek);
}

那么,如何在 Weeks 类中使用 sort() 来使用 classes 类中的 compareTo 方法呢?

最佳答案

创建一个新的abstractAComparableByHour并让您的类扩展它。

public abstract class AComparableByHour implements Comparable<AComparableByHour> {

public abstract String getHeure();

// Your comparison method goes here
@Override
public int compareTo(AComparableByHour ot) {
String heure2 = ot.getHeure();

int autre = Integer.parseInt(heure2.substring(0,2));
int le = Integer.parseInt(this.getHeure().substring(0,2));

if( autre > le){
return 1;
}

if( autre == le){
return 0;
} else {
return -1;
}
}

}

public class Cours extends AComparableByHour {
// This method is mandatory now.
// You could move it to the new superclass
public String getHeure() {
return heure;
}
...
}

public class Days extends AComparableByHour {
public String getHeure() {
return heure;
}
...
}

关于java - 使用另一个类的compareTo方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36215172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com