gpt4 book ai didi

java - CompareTo 的通用比较类型

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

我有一个名为 getMember 的方法,它可以返回任何 Comparable 对象、String、Integer 等。我不知道使用什么作为类型参数,因此 compareTo 可以工作。下面的代码不起作用

Comparable<? extends Comparable<?>> m1 = column.getMember(o1);
Comparable<? extends Comparable<?>> m2 = column.getMember(o2);

int compareTo = m1.compareTo(m2);

如果我不清楚,m1 和 m2 将始终是相同的类型。没有类型参数的比较工​​作正常,我只是想知道要放入什么 <>

最佳答案

我认为你需要的是 generic method 。无论这段代码采用什么方法,都必须被泛化。这是我的最佳选择,因为您没有 getMember 方法的源代码。

public <T extends Comparable<? super T>> void doSomethingTheOPWants() {
...
T m1 = column.getMember(o1);
T m2 = column.getMember(o2);
int compareTo = m1.compareTo(m2);
}

以我目前对代码的了解,我认为我无法创建相关/有值(value)的测试,所以我将其留给OP。

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

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