今天,我在看下面的一段Android源代碼:Android Java是否支持泛型類型的基本類型參數?
的類型被聲明爲:
public class IntArrayEvaluator implements TypeEvaluator<int[]>
我的Java泛型的理解是基本類型和數組不支持的。
我理解正確嗎?
如果我是正確的,這對於Android的Java實現來說是獨一無二的嗎?
今天,我在看下面的一段Android源代碼:Android Java是否支持泛型類型的基本類型參數?
的類型被聲明爲:
public class IntArrayEvaluator implements TypeEvaluator<int[]>
我的Java泛型的理解是基本類型和數組不支持的。
我理解正確嗎?
如果我是正確的,這對於Android的Java實現來說是獨一無二的嗎?
數組被支持,因爲內部的一個對象將作爲包裝類型在堆中爲所有的Primitive數組創建。
但基元類型不適用。
不,你是不正確的。 int[]
被允許作爲Android和標準Java中的類型參數。這是因爲int[]
是一個參考類型。另一方面,int
是原始類型,不允許作爲類型參數。
int[]
是一個引用類型,所以可以用作泛型類型的參數;這與原始類型int
類型不同。 Android對此沒有任何特殊之處。