![](/img/trans.png)
[英]The method compareTo(Comparable) is undefined for the type Comparable
[英]Generic Comparable type for compareTo
我有一个名为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将始终是同一类型。 没有类型参数的比较效果很好,我只想知道要放在<>中的内容
我认为您这里需要的是通用方法 。 无论此段代码采用哪种方法,都必须泛化。 这是我最好的镜头,没有getMember
方法的资料。
public <T extends Comparable<? super T>> void doSomethingTheOPWants() {
...
T m1 = column.getMember(o1);
T m2 = column.getMember(o2);
int compareTo = m1.compareTo(m2);
}
以我目前对代码的了解,我认为我无法创建相关/有价值的测试,因此我将其留给OP处理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.