我只是无法弄清楚,也许你可以帮助我。Java:使用一种方法在数组参数中的不同类型
问题:
public class class1 implements Comparable<class1> {
public int compareTo(class1 o) {
//some code
}
}
public class class2 implements Comparable<class2> {
public int compareTo(class2 o) {
//some code
}
}
public class foo {
private ArrayList<Class1> abc = new ArrayList<Class1>();
private ArrayList<Class2> def = new ArrayList<Class2>();
}
在下面o = abc or def
public int foo1 (ArrayList<Object> o) {
o[0].compareTo(o[1]);
}
此代码保持让我这个错误:
The method compareTo(class1) is undefined for the type Object
我不明白为什么,但我可以找不到orkarround,以便我不必重复代码,这将是必要的,因为我有更多的ArrayList对象和更长的代码。
我希望你们其中一个有想法。
问题已解决!解决方法是:
public <T extends Comparable<T>> int foo1 (ArrayList<T> o) {
return o.get(0).compareTo(o.get(1));
}
由Peter Lawrey
如果您的问题被回答,你应该标记正确的答案为“接受”(应该有一个“接受”按钮,或者这样靠近它),那么它会得到一个绿色的√图标,彼得获得15个声望点。 – 2011-02-09 18:48:58