我只是無法弄清楚,也許你可以幫助我。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