Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法创建参数化类型的数组_Java_Arrays - Fatal编程技术网

Java 无法创建参数化类型的数组

Java 无法创建参数化类型的数组,java,arrays,Java,Arrays,我在读java文档 https://docs.oracle.com/javase/tutorial/java/generics/restrictions.html#createArrays 上面说 "You cannot create arrays of parameterized types" 所以我可以使用下面的代码创建ArrayList的数组 ArrayList<Integer>[] al = new ArrayList[n]; 这里的参数化类型是什么。?我认为它是整数,

我在读java文档

https://docs.oracle.com/javase/tutorial/java/generics/restrictions.html#createArrays
上面说

"You cannot create arrays of parameterized types"
所以我可以使用下面的代码创建ArrayList的数组

ArrayList<Integer>[] al = new ArrayList[n];

这里的参数化类型是什么。?我认为它是
整数
,但它在两种类型的数组中都存在。

您的第一个示例是原始类型;这样就完全绕过了Java泛型类型检查。@ElliottFrisch,第二个示例中什么不是原始类型?
List
是一个参数化接口,仍然算作参数化类型。右侧的泛型类型声明(示例中菱形括号中的位-
List
)。Java在运行时对泛型使用类型擦除,所以在运行时它不知道arrayOfLists只包含
List
type的列表。@stringy05,如果我喜欢这个新列表的话,在右边[2];它允许,但左手边呢,泛型类型还在那个里被提到。。。?你不认为它在语法上是错误的吗?你的第一个例子是一个原始类型;这样就完全绕过了Java泛型类型检查。@ElliottFrisch,第二个示例中什么不是原始类型?
List
是一个参数化接口,仍然算作参数化类型。右侧的泛型类型声明(示例中菱形括号中的位-
List
)。Java在运行时对泛型使用类型擦除,所以在运行时它不知道arrayOfLists只包含
List
type的列表。@stringy05,如果我喜欢这个新列表的话,在右边[2];它允许,但左手边呢,泛型类型还在那个里被提到。。。?你不认为这在语法上是错误的吗?
List<Integer>[] arrayOfLists = new List<Integer>[2];