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