Я просто не могу понять это, может быть, вы можете мне помочь.
Проблема:
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
Я понимаю, почему, но я не могу найти обходной путь, чтобы мне не пришлось дублировать код, что было бы необходимо, потому что у меня больше объектов ArrayList и гораздо более длинный код.
Надеюсь, у одного из вас есть идея.
ПРОБЛЕМА РЕШЕНА !!! Решение было:
public <T extends Comparable<T>> int foo1 (ArrayList<T> o) {
return o.get(0).compareTo(o.get(1));
}
Питера Лоури