泛型数组创建错误:探索替代方案
尝试在 Java 中创建泛型类的数组(如问题中所示),将会不可避免地会遇到错误。 Java 缺乏对此功能的支持,因此需要替代方法。
考虑使用集合
使用集合代替数组可以有效解决此约束。例如,ArrayList 可以存储对象列表,提供管理数据的灵活性。
另一个选项:辅助类
另一个可行的解决方案涉及创建辅助类班级。例如,名为 MyObjectArrayList 的类可以扩展 ArrayList
理解禁令
Java 中对泛型数组的禁令深深植根于该语言的设计中。以下示例说明了证明此限制合理的潜在场景:
<code class="java">List<String>[] lsa = new List<String>[10]; // illegal Object[] oa = lsa; // OK because List<String> is a subtype of Object List<Integer> li = new ArrayList<Integer>(); li.add(new Integer(3)); oa[0] = li; String s = lsa[0].get(0);</code>
如果没有此限制,此类代码可能会导致意外行为,例如将整数列表分配给用于字符串的数组。
以上是为什么不能在 Java 中创建通用数组?的详细内容。更多信息请关注PHP中文网其他相关文章!