【发布时间】:2011-08-31 00:38:41
【问题描述】:
可能重复:
What is the easiest alternative to a generic array in Java?
我有以下代码:
class B<X>
{
public void create()
{
List<X> l1 = new ArrayList<X>(); //No ERROR
X[] arrr = new X[10]; //ERROR
}
}
我知道由于类型擦除,我无法实例化通用数组。但是为什么我可以实例化一个泛型 List 的实例呢?
【问题讨论】:
-
我想我理解这个问题。如果由于类型擦除,
new ArrayList<X>();本质上被视为new ArrayList<Object>();,为什么new X[10];不像new Object[10];那样处理? - 反之亦然,如果Java不能处理数组,它如何处理列表? -
@Alan,谢谢。这就是我要问的。
-
@Lukas Eder ...我完全不同意这是一个重复的问题。我在问为什么我们可以创建一个通用列表实例而不是一个通用数组实例。