Центр дистанционного обучения
Generics – дизайн Comparable
String str = “ABC”;
Integer i = 42;
int cmp = str.compareTo(i); // ClassCastException
online.mirea.ru
Центр дистанционного обучения
Generics – дизайн Comparable
public interface Comparable<T> {
int compareTo(T other);
}
public class String implements Comparable<String> { public int compareTo(String otherStr) {
... // сравниваем строки
}
}
online.mirea.ru
Центр дистанционного обучения
Generics – дизайн Comparable
public class ArraySort {
static <E> void sort(E[] array) {
...
if (array[i].compareTo(array[i + 1]) > 0) {
...
}
...
}
}
online.mirea.ru
Центр дистанционного обучения
Generics – дизайн Comparable
public class ArraySort {
static <E extends Comparable<...>> void sort(E[] array) {
...
if (array[i].compareTo(array[i + 1]) > 0) {
...
} |
тип E |
...
}
}
online.mirea.ru
Центр дистанционного обучения
Generics – дизайн Comparable
public class ArraySort {
static <E extends Comparable<E>> void sort(E[] array) {
...
if (array[i].compareTo(array[i + 1]) > 0) {
...
}
...
}
}
online.mirea.ru