【问题标题】:Error generic array creation错误通用数组创建
【发布时间】:2011-04-23 14:58:27
【问题描述】:
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

我该如何解决这个问题?

【问题讨论】:

    标签: java


    【解决方案1】:

    你不能。您能做的最好的事情就是发送ArrayList&lt;Set&lt;Hexagon&gt;&gt;

    如果你愿意处理原始类型(强烈反对),你可以创建一个Set 的数组(而不是Set&lt;Hexagon&gt;,这是不允许的)。但你没有从我这里听到。

    【讨论】:

      【解决方案2】:

      您不能使用泛型创建数组。请改用Collection&lt;Set&lt;Hexagon&gt;&gt;(Array)List&lt;Set&lt;Hexagon&gt;&gt;

      这是formal explanation

      【讨论】:

        【解决方案3】:

        以下内容会给你一个警告: permutations = new HashSet[6];

        不过,我同意 Chris 的观点,即使用 ArrayList 而不是普通数组。

        【讨论】:

          猜你喜欢
          • 2011-10-31
          • 2022-01-17
          • 1970-01-01
          • 2020-01-23
          相关资源
          最近更新 更多