错误通用数组创建

public class TwoBridge implements Piece{ private HashSet[] permutations; public TwoBridge(){ permutations = new HashSet[6]; 

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

但是,当我尝试编译时,我收到此错误

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

我该如何解决这个问题?

您无法使用generics创建数组。 使用Collection>(Array)List>代替。

这是正式的解释 。

你不能。 您可以做的最好的事情是创建一个ArrayList>

如果你愿意处理原始类型(非常不鼓励),你可以创建一个Set数组(而不是Set ,这是不允许的)。 但你没有听到我这个消息。

以下将给出警告: permutations = new HashSet[6];

但是,我同意Chris的观点,最好使用ArrayList而不是普通的数组。