枚举构造函数中的Java字节类型

时间:2013-07-13 20:53:06

标签: java enums

public enum Rank {
    TEN("Ten",1),
    NINE("Nine",2),
    EIGHT("Eight",0),
    SEVEN("Seven",0);


    private final String name;
    private final int point;

    /*
     * @param rank should be byte
     */
    private Rank(String name,int point)
    {
        this.name=name;
        this.point=point;
    }

如何将int替换为byte。我能想到的一种方法是使用TEN("Ten",Byte.parseByte("1"));

有没有更好或更短的方法?

3 个答案:

答案 0 :(得分:9)

只需castbyte,就像这样:

public enum Rank {
    TEN("Ten", (byte)1),
    NINE("Nine", (byte)2),
    EIGHT("Eight", (byte)0),
    SEVEN("Seven", (byte)0);


    private final String name;
    private final byte point;

    private Rank(String name, byte point)
    {
        this.name = name;
        this.point = point;
    }

答案 1 :(得分:3)

更短的方法是施放。

TEN("Ten", (byte) 1));

答案 2 :(得分:0)

只是一个样式建议,在构造函数中移动强制转换,使它看起来更干净:

UPDATE table1 
SET colum1 = value1
WHERE deviceid = deviceid
INNERJOIN table2 ON table1
IF userlevel = '1'