У меня есть универсальный класс, пустьКак создать компаратор
public class MyClass<T extends Comparable<T>> {
T a;
MyClass(T x) {
a = x;
}
public String toString() {
return a.toString();
}
}
Я хочу сделать компаратор, чтобы иметь возможность сортировать коллекцию, наполненную MyCLASS элементов.
Если я пишу это так
public class MyComparator implements Comparator<MyClass> {
public int compare(MyClass o1, MyClass o2) {
return o1.a.compareTo(o2.a);
}
}
Я получаю предупреждение Unchecked вызов ...
Будет ли право писать компаратор как
import java.util.Comparator;
public class MyComparator<T extends Comparable<T>> implements Comparator<MyClass<T>> {
public int compare(MyClass<T> o1, MyClass<T> o2) {
return o1.a.compareTo(o2.a);
}
}
кажется мне правильным. Это работает? –
В вашем втором блоке кода вы не помещали 'tools Comparator> {...'. Я полагаю, это была твоя опечатка? –
ha9u63ar
да, это работает. Это просто я новичок в дженериках –