2011-11-01 35 views
0

我有以下代码:整数灌装数组值

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不同,因此在()循环中出现两个错误。

我该如何解决它们,使它们工作?

+0

你为什么要重新发明轮子 - 'Collections'有一个'shuffle(List)'方法。 – Bhaskar

回答

0

使用Integer包装而不是原始的int。

+0

感谢您的回复 –