通用列表和通用数组[重复]

问题描述

|                                                                                                                   这个问题已经在这里有了答案:                                                      

解决方法

原因是泛型使用类型擦除来实现: 在运行时未知类型“ 0”。这意味着您无法实例化该数组(未知类型)。 但是由于您不需要(实际上不能使用)在运行时创建参数化类型的类型信息(再次:类型擦除),因此创建“ 1”不是问题。 请注意,内部的“ 2”总是将“ 3”用于实际存储,而不管类型参数是什么。     ,Angelika Langer提供了有关Java泛型的出色文档。该链接回答了您有关列表(和其他通用类型)与数组之间的区别以及为何无法以这种方式实例化数组的问题: http://www.angelikalanger.com/GenericsFAQ/FAQSections/ParameterizedTypes.html#FAQ104 简而言之:由于数组是协变的,因此实例化参数化类型的数组并不安全。