2011-11-01 80 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

感謝您的回覆 –