今天,我在看下面的一段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对此没有任何特殊之处。