путаница / проблема с генериками. Я просто хотел бы иметь возможность сортировать и печатать массив любого типа, который является классом Number или подклассом Number. Сначала я написал метод printArray, который отлично работает. Затем я написал метод bubbleSort, но возникли проблемы с его вызовом в конструкторе. Любая помощь?
public class DAB_NumberAnalyzer<T extends Number>
{
private T[] array;
/**
* Constructor
* @param array
*/
public DAB_NumberAnalyzer(T[] array)
{
this.array = array;
bubbleSortArray(array);
printArray(array);
}
public static <T> void printArray(T[] array)
{
for(T element : array)
{
System.out.printf("%s, ", element);
}
System.out.println("");
}
public static <T extends Comparable<T>> void bubbleSortArray(T[] array)
{
int lastPos;
int index;
T temp;
for(lastPos = array.length - 1; lastPos >= 0; lastPos--)
{
for(index = 0; index <= lastPos - 1; index++)
{
if(array[index].compareTo(array[index]) > 0)
{
temp = array[index];
array[index] = array[index + 1];
array[index + 1] = temp;
}
}
}
}
}
В конструкторе я получаю сообщение об ошибке в строке, где я вызываю метод bubbleSortArray.
Ошибка: метод bubbsleSortArray (T []) в типе DAB_NumberAnalyzer неприменимо для аргументов (T []).
Не понимаю, как я не получаю эту ошибку при вызове метода printArray.
Я помещаю что-то в неправильное место ?
Только что запустили дженерики, хотя и не совсем понятны, любая помощь будет принята с благодарностью!