当我使用protobuf编译java特定枚举时,我的enum.proto代码:
enum QosP{
AT_MOST_ONCE = 0;
AT_LEAST_ONCE = 1;
EXACTLY_ONCE = 2;
required int32 val = AT_MOST_ONCE.value;
}我总是得到一个错误,如下所示:枚举常量缺少数值。需要的val总是不能compile.plz我需要帮助。
我尝试使用proto2和proto3进行编译,找到了很多文档,但是解决了这个问题。
我想使用protobuf完全的java枚举,结构如下:
enum QosP{
AT_MOST_ONCE = 0;
AT_LEAST_ONCE = 1;
EXACTLY_ONCE = 2;
required int32 val = AT_MOST_ONCE.value;
}发布于 2019-09-26 07:10:46
枚举声明和使用应该分开完成。
首先将枚举声明为一个类型:
enum QosP {
AT_MOST_ONCE = 0;
AT_LEAST_ONCE = 1;
EXACTLY_ONCE = 2;
}然后使用枚举来定义字段的类型。也可以定义默认值:
message Something {
QosP val = 1 [default = AT_LEAST_ONCE];
}https://stackoverflow.com/questions/57335703
复制相似问题