私は多分あなたが私を助けることができますこれを把握できません。Java:配列パラメータの異なる型に1つのメソッドを使用
問題:次o = abc or def
public int foo1 (ArrayList<Object> o) {
o[0].compareTo(o[1]);
}
で
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>();
}
このコードは、私は、このエラーを取得して保持します:
The method compareTo(class1) is undefined for the type Object
私は理由を理解しますが、私はできます見つからないorkarroundのように、コードを複製する必要はありません。なぜなら、より多くのArrayListオブジェクトとより長いコードがあるためです。
私はあなたのアイデアがあることを願っています。
問題が解決しました!解決策だった:ピーターLawreyによって
public <T extends Comparable<T>> int foo1 (ArrayList<T> o) {
return o.get(0).compareTo(o.get(1));
}
あなたの質問に回答されている場合は、あなたが「受け入れられた」として正しい答えをマークしなければならない(それに近い「受け入れる」ボタンまたは、そのような存在でなければなりません)、緑色のアイコンが表示され、ピーターは15の評判ポイントを獲得します。 –