gpt4 book ai didi

java - 在具体子类中使用比较器时指定正确的比较器,而比较方法位于抽象类中?

转载 作者:行者123 更新时间:2023-12-01 20:25:12 24 4
gpt4 key购买 nike

我在这个问题上遇到了麻烦,虽然代码很长,但我将展示所有类的层次结构的基本 View 。

界面:

public interface Shape extends Comparable<Shape> {

抽象类:

public abstract class AbstractShape implements Shape {
...
public int compareTo(Shape theOther) {
//code already written

public int compare(Shape s1, Shape s2) {
//code already written

圆类

public class Circle extends AbstractShape {

矩形类

public class Rectangle extends AbstractShape {

最后......驱动程序类

public class project {
...
Collections.sort(theList, ???);

创建我想要的所有形状的列表后,我想使用 Collections.sort 方法对它们进行排序。我知道如何使用 Collections.sort 方法的简单操作,但是如何准确指定上面的语句以使用位于抽象类中的指定比较器?我考虑过更改周围的层次结构,但我仅限于此层次结构设置,因为我的讲师不允许我们根本修改此作业的方法 header 。

非常感谢任何帮助!

最佳答案

您的类实现了 Comparable,因此您不需要传递 Comparator 对象作为第二个参数,只需传递任何内容即可:

Collections.sort(theList);

关于java - 在具体子类中使用比较器时指定正确的比较器,而比较方法位于抽象类中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43950989/

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