【发布时间】:2015-09-28 21:20:03
【问题描述】:
阅读 Robert Sedgewick 关于算法的书,我总是看到他提到,在 java 中包含其他通用事物的事物数组需要像这样创建:
Foo<Bar>[] foo = (Foo<Bar>[])new Foo[N];
所以我想知道该演员表是否有必要,因为当我这样做时:
Foo<Bar>[] foo = new Foo[N];
编译器似乎仍然知道泛型类型是 Bar。
那么,有必要吗,有什么意义呢?
【问题讨论】:
-
这两个操作都需要不安全的强制转换。解决方案是使用列表而不是数组。
-
@Banthar 这不是重复的,我没有询问列表列表。我专门询问了数组。
-
@paulpaul1076 这不是关于细节,而是关于想法;它以某种方式重复:stackoverflow.com/questions/529085/…,stackoverflow.com/questions/linked/529085?lq=1 等。