#java
#java
Вопрос:
У меня есть следующий код:
public static <T extends Comparable<T>> T[] getRandomPermutationOfIntegers(int size) {
T[] data = (T[])new Comparable[size];
for (int i = 0; i < size; i ) {
data[i] = i;
}
// shuffle the array
for (int i = 0; i < size; i ) {
int temp;
int swap = i (int) ((size - i) * Math.random());
temp = data[i];
data[i] = data[swap];
data[swap] = temp;
}
return data;
}
который переставляет массив целых чисел и возвращает их. Я хочу заполнить массив значениями int, но получаю ошибку в двух циклах for(), поскольку T отличается от int.
Как мне исправить их, чтобы они работали?
Комментарии:
1. почему вы изобретаете колесо —
Collections
естьshuffle(List)
метод.
Ответ №1:
Используйте целочисленную оболочку вместо примитивного int .