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

时间:2018-07-18 13:39:32

标签: java casting primitive short

我有一个带有构造函数的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并在赋值时强制转换。

是否有比花一些时间更好的方法呢?还是没有更好的解决方案?

2 个答案:

答案 0 :(得分:0)

您可以使用

short shortValue = Integer.valueOf(0).shortValue();

内幕还是一样。因此,请视而不见。

答案 1 :(得分:-1)

您总是必须强制转换,因为不幸的是短裤没有文字格式,我建议在枚举中添加另一个构造函数:

private myEnum(int value) {
    this((short) value);
}

这样,您将避免将其强制转换为枚举的值。