0
更具體的問題是,我希望能夠洗一個數組,無論它是否包含整數,字符串,對象或其他東西。使用Comparable
類型似乎有問題,我不想使用int[]
或String[]
,因爲我想使用更通用的類,允許使用相同的Shuffle類對所有這些類型的數組進行混洗。參數可以比傳遞的參數更普遍嗎?
這是我的代碼。
import java.lang.Math;
public class Shuffle
{
public Shuffle() {}
public void shuffle(Comparable[] a)
{
int n= a.length;
int j;
for (int i=1; i<n; i++)
{
j= (int)(Math.random()*(i+1));
if (i!=j) swap(a, i, j);
}
}
protected void swap(Comparable[] a, int i, int j)
{
Comparable temp= a[i];
a[i]= a[j];
a[j]= temp;
}
}
請勿使用原始類型。 –
問題是,在Java中,你不能用一個「int」數組替換某個對象類的數組。 「標量」 - char,short,int,long,float,double和bool - 不能一概處理。如果需要的話,其他任何東西都可以放在一個「Object []」的數組中。 –
非常有幫助的評論,謝謝! –