2015-04-04 111 views
1

今天,我在看下面的一段Android源代碼:Android Java是否支持泛型類型的基本類型參​​數?

https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/animation/IntArrayEvaluator.java

的類型被聲明爲:

public class IntArrayEvaluator implements TypeEvaluator<int[]> 

我的Java泛型的理解是基本類型和數組不支持的。

我理解正確嗎?

如果我是正確的,這對於Android的Java實現來說是獨一無二的嗎?

回答

1

數組被支持,因爲內部的一個對象將作爲包裝類型在堆中爲所有的Primitive數組創建。

但基元類型不適用。

1

不,你是不正確的。 int[]被允許作爲Android和標準Java中的類型參數。這是因爲int[]是一個參考類型。另一方面,int是原始類型,不允許作爲類型參數。

1

int[]是一個引用類型,所以可以用作泛型類型的參數;這與原始類型int類型不同。 Android對此沒有任何特殊之處。