gpt4 book ai didi

java - 如何告诉 Java 接口(interface)实现了 Comparable?

转载 作者:行者123 更新时间:2023-12-02 03:40:06 24 4
gpt4 key购买 nike

我有一个名为IDebt的接口(interface),以及一个实现名为Debt的接口(interface)的类。

我还有一个由实现 IDebt 接口(interface)的对象组成的列表:

List<IDebt> debtList = new ArrayList<IDebt>();

Debt实现了Comparable,但是当我执行Collections.sort(debtList)时,我得到一个错误,因为Java无法知道实现IDebt的对象因此实现了 Comparable。

我该如何解决这个问题?

最佳答案

你可以这样做:

public static interface MyInterface extends Comparable<MyInterface> {

}

public static class MyClass implements MyInterface {

@Override
public int compareTo(MyInterface another) {
return 0; //write a comparison method here
}
}

然后

List<MyInterface> test = new ArrayList<>();
Collections.sort(test);

可以工作

更新:也用于排序,也许这更有意义:

Collections.sort(test, new Comparator<MyInterface >() {
@Override
public int compare(MyInterface lhs, MyInterface rhs) {
return 0;
}
});

关于java - 如何告诉 Java 接口(interface)实现了 Comparable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36924998/

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