在构造函数调用中设置一个短值

我有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在构造函数中使用an并在赋值时进行转换。


有没有比花时间施放更好的方法来做到这一点,或者没有更好的解决方案?


噜噜哒
浏览 176回答 2
2回答

汪汪一只猫

您可以使用short shortValue = Integer.valueOf(0).shortValue();在引擎盖下它仍然是一样的。所以视而不见是好事。

largeQ

您总是必须强制转换,因为不幸的是,shorts 没有文字格式,我建议在您的枚举中添加另一个构造函数:private myEnum(int value) {    this((short) value);}这样您就可以避免将其转换为枚举的值。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java