【发布时间】:2012-10-29 08:44:07
【问题描述】:
我想做这样的事情:
public class MyEnumTest {
public enum MyEnum;
private MyEnum value;
public MyEnumTest(enum e)
{
this.MyEnum = e;
this.value = this.MyEnum.values[0]//Set value to the first enum value.
}
public void setValue(MyEnum e)
{
this.value = e;
}
public MyEnum getValue()
{
return value;
}
}
然后这样称呼它:
MyEnumTest car = new MyEnumTest({HONDA, FORD, TOYOTA, HOLDEN});
MyEnumTest fruit = new MyEnumTest({APPLE, BANANA, CHERRY});
/* some operations occur*/
if (car.getValue() == car.FORD) System.out.println("Vrooom!");
if (fruit.getValue()) == fruit.APPLE) System.out.println ("Is red and round and delicious");
有什么想法吗?
对于奖励分数 - 是否可以使用枚举值设置初始值? 比如像
MyEnumTest myET = new myEnumTest(new enum {RED, GREEN, BLUE, YELLOW}, BLUE);
【问题讨论】:
-
您的问题令人困惑——您想专门使用您的
MyEnum还是任何枚举? -
我希望能够创建一个类的实例,并使用我想要的任何 Enum 创建它们。
标签: java constructor enums arguments