我在Java中下面的代碼:泛型在Java中 - 實例牛逼
public static<T> void doIt(Class<T> t)
{
T[] arr;
arr = (T[])Array.newInstance(t, 4);
}
我希望能夠使用doIt方法同時使用基本類型,如雙和使用類String對象等。
我可以用做(代碼編譯):
doIt(double.class);
doIt(String.class);
但是,我擔心的是,在第一種情況下,Java編譯器將實際使用Double類,包雙原始類型,我不想要。我實際上希望它在這種情況下實例化一個基本數組(同時用String情況實例化一個對象數組)。有人知道doIt(double.class)會發生什麼嗎?它是實例化爲Double還是Double?
謝謝。
這將是雙。 – jn1kk
在調試器中嘗試它並檢查數組的運行時類型。 –
@skynorth:不,它是雙倍的。 – kloop