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
我该如何解决这个问题?
答案 0 :(得分:5)
您无法使用泛型创建数组。请改用Collection<Set<Hexagon>>
或(Array)List<Set<Hexagon>>
。
答案 1 :(得分:2)
你做不到。您可以做的最好的事情是ArrayList<Set<Hexagon>>
。
如果您愿意处理原始类型(非常不鼓励),您可以创建一个Set
数组(而不是Set<Hexagon>
,这是不允许的)。但你没有听到我的消息。
答案 2 :(得分:0)
以下会给你一个警告:
permutations = new HashSet[6];
但是,我同意Chris的观点,最好使用ArrayList而不是普通数组。