有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓将值设置为Enum Java

我正在尝试在java应用程序中设置枚举值。。。。但我不能这么做

我做错了吗

public enum RPCPacketDataType {
    PT_UNKNOWN(2),
    PT_JSON(4),
    PT_BINARY(5)
};

它给了我一个错误:构造函数RPCPacket。RPCPackedDataType(int)未定义


共 (2) 个答案

  1. # 1 楼答案

    您应该创建一个接受int参数的构造函数。还添加一个int字段,该字段将保存传递的值

    public enum RPCPacketDataType {
        PT_UNKNOWN(2),
        PT_JSON(4),
        PT_BINARY(5);
    
        private int mValue;
    
        RPCPacketDataType(int value) {
            mValue = value;
        }
    }
    
  2. # 2 楼答案

    public enum RPCPacketDataType
    {
        PT_UNKNOWN(2),
        PT_JSON(4),
        PT_BINARY(5);
    
        RPCPacketDataType (int i)
        {
            this.type = i;
        }
    
        private int type;
    
        public int getNumericType()
        {
            return type;
        }
    }
    

    也可以像在“普通”类中一样在枚举上定义方法

     System.out.println(RPCPacketDataType.PT_JSON.getNumericType() // => 4