Android Java 是否支持泛型类型的原始类型参数?
Does Android Java support primitive type parameter for generic types?
今天我正在查看以下 Android 源代码:
类型声明为:
public class IntArrayEvaluator implements TypeEvaluator<int[]>
我对Java泛型的理解是不支持原始类型和数组。
我的理解正确吗?
如果我没记错的话,这是 Android 对 Java 的实施所独有的吗?
支持数组,因为内部将在 Heap 中为所有 Primitive 数组创建一个对象作为包装器类型。
但原始类型不适用。
不,你错了。 int[]
在 Android 和标准 Java 中都允许作为类型参数。这是因为 int[]
是引用类型。另一方面,int
是基本类型,在任何一个中都不允许作为类型参数。
int[]
是引用类型,所以可以作为泛型类型参数使用;这与原始 int
类型不同。 Android 这没有什么特别之处。
今天我正在查看以下 Android 源代码:
类型声明为:
public class IntArrayEvaluator implements TypeEvaluator<int[]>
我对Java泛型的理解是不支持原始类型和数组。
我的理解正确吗?
如果我没记错的话,这是 Android 对 Java 的实施所独有的吗?
支持数组,因为内部将在 Heap 中为所有 Primitive 数组创建一个对象作为包装器类型。
但原始类型不适用。
不,你错了。 int[]
在 Android 和标准 Java 中都允许作为类型参数。这是因为 int[]
是引用类型。另一方面,int
是基本类型,在任何一个中都不允许作为类型参数。
int[]
是引用类型,所以可以作为泛型类型参数使用;这与原始 int
类型不同。 Android 这没有什么特别之处。