gpt4 book ai didi

java - 通用比较器

转载 作者:搜寻专家 更新时间:2023-11-01 02:31:46 25 4
gpt4 key购买 nike

这是一个学校项目。我有一个 Query<E>包含属于 Query 的元素的类健康)状况。所以如果它是 GreaterQuery且元素为10,则所有大于10的值均通过条件。

这个 Query 的构造函数object 接受元素,一个 Comparator用于测试条件的对象。如果传入null,我需要创建一个Comparator用于比较。

我有一个 match(E element)测试条件的方法。这是它的基本版本:

public boolean matches(E element)
{
if (comparator == null)
{

}
}

我认为我可以做的是写一个匿名的Comparator if里面的类声明,尽管我不确定这是否可能。我遇到的另一个问题是如何与 E 进行比较对象而对其一无所知。另外,我不确定这一点,但可能有一个先决条件 E extends Comparable .已经很晚了,如果这没有意义,我深表歉意。但我们将不胜感激。

最佳答案

如果E保证执行Comparable<E> ,你可以这样做:

if (comparator == null) {
comparator = new Comparator<E>() {
@Override
public int compare(E lhs, E rhs) {
return lhs.compareTo(rhs);
}
};
}

关于java - 通用比较器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7721288/

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