2015-02-15 4 views
0

Я пытаюсь понять некоторый исходный код. Как я могу назвать этот метод в основном?Вызов метода, который имеет общие параметры

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

Что это связано с дженериками? Это массив. Используйте поле 'length'. –

+0

Хорошо, но как вы объявляете массив этого типа, поэтому я могу назвать этот метод? – freezefry

ответ

1

Тип элемента массива - это переменная типа T класса IntroSort. Это пример для экземпляра IntroSort с параметром типа, установленного в Integer:

Integer[] array = {1, 2, 3, 4}; 
IntroSort<Integer> obj = new IntroSort<>(); 
obj.introSort(array, 1); 

Компилятор будет соответствовать T с Integer, основываясь на декларации IntroSort, что также означает, что массив должен быть типа Integer.

0

T только что возвращается к T в спецификации вашего класса.

Если у вас есть экземпляр IntroSort, просто вызовите метод на нем с тем же типом массива, с которым вы создавали экземпляр класса.

Смежные вопросы