以下语句之间有什么区别:
List<E>[] x = (List<E>[]) new List[100];
和
List<E>[] x = new List[100];
在我的脚本中,注意到前者是创建泛型数组的正确方法(尽管它会导致编译器警告)。但我不太清楚该(List<E>[])
语句的用途。List<E>[]
甚至不是它自己的类型,编译器只会用 替换它(List[])
,所以你会得到
List<E>[] x = (List[]) new List[100];
从List[]
到的转换List[]
,这是无用的。那么为什么要(List<E>[])
放在第一位呢?