当前位置: 首页 > 面试题库 >

错误通用数组创建

龙俊英
2023-03-14
问题内容
public class TwoBridge implements Piece{
    private HashSet<Hexagon>[] permutations;

    public TwoBridge(){
        permutations = new HashSet<Hexagon>[6];

嗨,我正在尝试创建一组六边形集(六边形是我创建的类)。

但是当我尝试编译时出现此错误

oliver@oliver-desktop:~/uni/16/partB$ javac oadams_atroche/TwoBridge.java 
oadams_atroche/TwoBridge.java:10: generic array creation
        permutations = new HashSet<Hexagon>[6];
                       ^
1 error

我该如何解决?


问题答案:

您不能使用泛型创建数组。使用Collection<Set<Hexagon>>(Array)List<Set<Hexagon>>代替。

这是正式的解释。



 类似资料:
  • 问题内容: 我正在尝试做这样的事情: myObject是一个类。我收到此错误:-通用数组创建(箭头指向new。) 问题答案: 你不能有泛型类的数组。Java根本不支持它。 你应该考虑使用集合而不是数组。例如, 另一个“解决方法”是创建这样的辅助类 然后创建一个数组MyObjectArrayList。 这是一篇很好的文章,说明了为什么在语言中不允许这样做。本文提供了以下示例,说明如果允许的话可能发生

  • 问题内容: 我正在尝试使用泛型来实现链接的集合,如下所示。 A是集合,B是集合中的元素或节点,具有引用后继对象/前任对象和项目的数组。 不允许创建数组。我得到的错误是。我认为它实际上创建的是数组吗? 如果不是,是什么原因导致错误? 如果是这样,我该如何解决? 很明显,我省略了很多代码,如果提供的代码不够用,请告诉我。任何意见,将不胜感激。谢谢。 编辑1: 我应该提到的是,参数化类型必须是在同在。因

  • 我试着做这样的事:- myObject是一个类。我得到这个错误:-泛型数组创建(箭头指向New.)

  • 问题内容: 该代码似乎不起作用,它将抛出异常: java.lang.ClassCastException:[Ljava.lang.Object; 无法转换为… 有人可以告诉我如何创建具有通用类型的数组吗?谢谢。 问题答案: 您不能:必须将类作为参数传递:

  • 问题内容: 我有TreeNode的通用类: 当我尝试做时: 我出错了。但是“ new TreeNode [num_of_children]”有效。我读了有关类型擦除的文章,但我不明白为什么它不起作用。这是为什么?请赐教! 问题答案: 之类的东西,并通过Java是不允许的。您唯一可以做的就是和(无界通配符参数)。 这样做的原因有些复杂,但很有启发性。Java中的数组在运行时知道它们的组件类型,并且每

  • 问题内容: 我想使用simpleJdbcInsert类和executeBatch方法 http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/jdbc/core/simple/SimpleJdbcInsert.html 所以我需要传递一个as参数数组。如何创建这样的数组?我试过的是 错误:无法创建通用数组 A