如何使用字段的枚举类型创建对象

时间:2017-10-29 20:57:47

标签: java enums

我正在为学校制定一套游戏计划。我有以下卡片构造函数:

  public SetCard(Colors c, Shapes sp, Shading sd, Numbers num)
  {
     this.color = c;
     this.shape = sp;
     this.shade = sd;
     this.number = num;
  }

我正在尝试创建一个卡片构造函数,它使用四种枚举类型的每种组合制作卡片:

public setDeck()
{  
  ArrayList<Card> cards = new ArrayList<Card>(CARDS_IN_DECK);

  for (Colors c : Colors.values()) {
     for (Shapes sp : Shapes.values()) {
        for (Shading sd : Shading.values()) {
           for (Numbers num : Numbers.values()) {
           cards.add(new SetCard(c, sp, sd, num));
           }
        }   
     }  
  }
return cards;
}

当我编译时,我得到一个错误告诉我&#34;类SetCard中的构造函数SetCard无法应用于给定的类型&#34;

我的SetCard构造函数接受参数的枚举类型,所以我不明白为什么会发生这种情况。

1 个答案:

答案 0 :(得分:1)

尝试从构造函数中删除void关键字,使其如下所示:

 public SetCard(Colors c, Shapes sp, Shading sd, Numbers num)

构造函数没有返回类型。