Вызов метода, который имеет общие параметры
Я пытаюсь понять некоторый исходный код. Как мне вызвать этот метод в основном?
public void introSort(T[] array, int max_depth)
{
System.out.println(array.length);
}
Я просто хочу вернуть длину данного массива в моем основном методе. Если это поможет, метод находится в классе с этим объявлением:
public class IntroSort<T extends Comparable<T>> extends AbstractSort<T> {
[Я понимаю, что это универсальный тип, но мое понимание этого понятия в Java слишком минимально, чтобы отвечать на мои вопросы.]
2 ответа
Тип элемента массива является переменной типа T
класса IntroSort
, Это пример для экземпляра IntroSort
с параметром типа, установленным как Integer
:
Integer[] array = {1, 2, 3, 4};
IntroSort<Integer> obj = new IntroSort<>();
obj.introSort(array, 1);
Компилятор будет соответствовать T
с Integer
на основании декларации IntroSort
Это также означает, что массив должен иметь тип Integer
,
T просто ссылается на T в спецификации вашего класса.
Если у вас есть экземпляр IntroSort, просто вызовите метод с тем же типом массива, с которым вы создали экземпляр класса.