我有一个称为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将始终是同一类型。没有类型参数的比较效果很好,我只想知道要放在中的内容 (adsbygoogle = window.adsbygoogle || []).push({}); 最佳答案 我认为您需要的是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);}以我目前对代码的了解,我认为我无法创建相关/有价值的测试,因此我将其留给OP处理。 (adsbygoogle = window.adsbygoogle || []).push({});
10-07 12:53