我创建了一个处理2.2.1的项目,我使用了枚举。 Howerver我打电话给我的枚举Colour.java,我有一个错误:
令牌“{”的语法错误,@此符号后的预期。
这是我的代码:
public enum Colour
{ // --> on this line
RED({0xFF0000, 0xDD0000, 0x990000, 0x660000, 0x330000}),
GREEN({0x00FF00, 0x00DD00, 0x009900, 0x006600, 0x003300}),
BLUE({0x0000FF, 0x0000DD, 0x000099, 0x000066, 0x000033});
private final int[] shades;
public Colour(int[] shades)
{
this.shades = shades;
}
public int[] getShades()
{
return shades;
}
}
答案 0 :(得分:3)
创建新int数组的语法需要以new int[]
:
RED(new int[] {0xFF0000, 0xDD0000, 0x990000, 0x660000, 0x330000}),
// ^^^^^^^^^
时间可以忽略这一点,就是在您声明变量或字段的同时初始化变量或字段时:
int[] ints = { 1, 2, 3 };
之后,您需要降低构造函数从public到package-private或private的可见性,然后就可以了。
答案 1 :(得分:2)
您可以使用varargs
public enum Colour
{ // --> on this line
RED(0xFF0000, 0xDD0000, 0x990000, 0x660000, 0x330000),
GREEN(0x00FF00, 0x00DD00, 0x009900, 0x006600, 0x003300),
BLUE(0x0000FF, 0x0000DD, 0x000099, 0x000066, 0x000033);
private final int[] shades;
Colour(int... shades)
{
this.shades = shades;
}
public int[] getShades()
{
return shades;
}
}