2015-04-04 67 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对此没有任何特殊之处。