整数灌装数组值
问题描述:
我有以下代码:整数灌装数组值
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值填充数组,但由于T与int不同,因此在()循环中出现两个错误。
我该如何解决它们,使它们工作?
答
使用Integer包装而不是原始的int。
+0
感谢您的回复 –
你为什么要重新发明轮子 - 'Collections'有一个'shuffle(List)'方法。 – Bhaskar