我有一个带有构造函数的enum
:
enum myEnum {
A(0), B(1), C(2);
private final short value;
private myEnum(short value) {
this.value = value;
}
public short getValue() {
return this.value;
}
}
不幸的是,Eclipse让我知道没有构造函数接受单个int
。因此,我沦为短篇小说...
A((short) 0), B((short) 1), C((short) 2);
...是否针对每个值完成此操作,还是在构造函数中使用int
并在赋值时强制转换。
是否有比花一些时间更好的方法呢?还是没有更好的解决方案?
答案 0 :(得分:0)
您可以使用
short shortValue = Integer.valueOf(0).shortValue();
内幕还是一样。因此,请视而不见。
答案 1 :(得分:-1)
您总是必须强制转换,因为不幸的是短裤没有文字格式,我建议在枚举中添加另一个构造函数:
private myEnum(int value) {
this((short) value);
}
这样,您将避免将其强制转换为枚举的值。