错误通用数组创建
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而不是普通的数组。