Возможно ли иметь метод, который принимает общий Comparable?

Я реализую алгоритм сортировки слиянием на Java для школы.

Он должен быть в состоянии взять любой сопоставимый объект.

Я создал статический метод mergeSort (ввод ArrayList), но, по-видимому, я не могу преобразовать ArrayList или ArrayList в ArrayList, даже если они оба реализуют сопоставимые.

Как я могу представить ArrayList сопоставимых данных?


person Rui Teixeira    schedule 18.10.2014    source источник


Ответы (1)


Используйте дженерики. Что-то вроде public static <T extends Comparable<T>> ArrayList<T> mergeSort(ArrayList<T> list) {...

Затем вы можете использовать T в качестве типа. Нравится T a = list.get(0);, и вы можете сделать (a.compareTo(b)).

person m32rober    schedule 18.10.2014