1
1
抛开仿制药,你不能
并不是说你永远不能创建泛型数组。你必须间接地这么做。通常,这样做的方法是创建无边界通配符泛型数组,然后执行未选中的强制转换(如您所做的)到正确的类型:
以上内容适用于创建特定泛型类型的任何数组。在这种情况下,您可以考虑使用
(总的来说,我有点怀疑创建任何风格的选项数组或集合的概念。这看起来很奇怪。通常有更好的选择。但在某些情况下可能是合理的。不管怎样,一组选项是否适合您要解决的任何问题都是一个单独的问题。) |
2
2
在Java中 创建泛型类型、参数化类型或类型参数“”的数组是非法的。为什么创建泛型数组是非法的?因为它不是类型安全的。如果是合法的,编译器在其他正确程序中生成的强制转换可能在运行时失败,并带有ClassCastException。这将违反泛型类型系统提供的基本保证。 “ [ Joshua Bloch -有效爪哇] 那么,什么解决方案能够创建多维数组呢? 建议使用容器:
|
3
0
由于类型安全,在Java中创建一个泛型数组是非法的。考虑改用列表。 链接到Oracle手册: https://docs.oracle.com/javase/tutorial/java/generics/restrictions.html#createArrays |
Glory Raj · 有什么方法可以使这两个块具有共同的功能吗 2 年前 |
milczi · Swift通用无强制展开向下投射 6 年前 |
bugs · Typescript-泛型类型扩展自身 6 年前 |
John Bustos · C#通用工厂模式,不说明通用工厂模式的类型 6 年前 |
Blankdud · 具有默认数据的通用对象创建方法 6 年前 |
Tim Hutchison · 从泛型对象列表中读取泛型值 6 年前 |