我正在做一个口袋妖怪类型的枚举。每种类型都具有强度,弱点和免疫力类型。我试图将类型传递到不同的数组中,这些数组存储每种类型的优点和缺点。如何将数组传递给枚举中的构造函数?
我知道我可以定义数组作为
int [] x = {1, 2, 3, 88};
而且我试过同为传递一个arrray: -
// For the sake of simplicity, all types have the same parameters for now...
public enum Type {
NORMAL ({Type.STEEL, Type.PHYSIC}, {Type.FIGHTING, Type.POISON}, {Type.GHOST}),
FIGHTING ({Type.STEEL, Type.PHYSIC}, {Type.FIGHTING, Type.POISON}, {Type.GHOST}),
FLYING ({Type.STEEL, Type.PHYSIC}, {Type.FIGHTING, Type.POISON}, {Type.GHOST}),
POISON ({Type.STEEL, Type.PHYSIC}, {Type.FIGHTING, Type.POISON}, {Type.GHOST}),
GROUND ({Type.STEEL, Type.PHYSIC}, {Type.FIGHTING, Type.POISON}, {Type.GHOST}),
ROCK ({Type.STEEL, Type.PHYSIC}, {Type.FIGHTING, Type.POISON}, {Type.GHOST}),
BUG ({Type.STEEL, Type.PHYSIC}, {Type.FIGHTING, Type.POISON}, {Type.GHOST}),
GHOST ({Type.STEEL, Type.PHYSIC}, {Type.FIGHTING, Type.POISON}, {Type.GHOST}),
STEEL ({Type.STEEL, Type.PHYSIC}, {Type.FIGHTING, Type.POISON}, {Type.GHOST}),
FIRE ({Type.STEEL, Type.PHYSIC}, {Type.FIGHTING, Type.POISON}, {Type.GHOST}),
WATER ({Type.STEEL, Type.PHYSIC}, {Type.FIGHTING, Type.POISON}, {Type.GHOST}),
GRASS ({Type.STEEL, Type.PHYSIC}, {Type.FIGHTING, Type.POISON}, {Type.GHOST}),
ELECTRIC ({Type.STEEL, Type.PHYSIC}, {Type.FIGHTING, Type.POISON}, {Type.GHOST}),
PHYSIC ({Type.STEEL, Type.PHYSIC}, {Type.FIGHTING, Type.POISON}, {Type.GHOST}),
ICE ({Type.STEEL, Type.PHYSIC}, {Type.FIGHTING, Type.POISON}, {Type.GHOST}),
DRAGON ({Type.STEEL, Type.PHYSIC}, {Type.FIGHTING, Type.POISON}, {Type.GHOST}),
DARK ({Type.STEEL, Type.PHYSIC}, {Type.FIGHTING, Type.POISON}, {Type.GHOST}),
FAIRY ({Type.STEEL, Type.PHYSIC}, {Type.FIGHTING, Type.POISON}, {Type.GHOST});
private Type [] weak, strong, ineffective;
Type (Type [] weak, Type [] strong, Type [] ineffective) {
this.weak = weak;
this.strong = strong;
this.ineffective = ineffective;
}
}
我的IDE,BlueJ的,说:“非法启动表达”。
如果不是这样,我怎么能将数组传递给枚举的构造函数?
你可能应该看一下'EnumSet' – 2014-12-03 06:59:06