如何在Java代码和.proto文件之间共享Enum值
我有一堂课要protobuf。在该类中,一个字段是枚举(在它自己的类中)。我可以避免在.proto文件中定义相同的枚举值吗?还是我必须手动确保Java代码中的枚举定义与.proto文件中的相同?
Java代码:
public enum Location {UNDEF(0),HOME(1), WORK(2);
...
}
.proto文件对应的代码:
message Address{ enum location {
UNDEF = 0;
HOME = 1;
WORK = 2;
}
optional location addressLocation;
...
}
回答:
保持此类同步的最佳解决方案通常是代码生成。确定您的定义中的哪一个是真相,然后从中创建其他定义。协议缓冲区内置了对Java代码生成的内置支持,并具有诸如自动处理重复的枚举值之类的漂亮功能。
以上是 如何在Java代码和.proto文件之间共享Enum值 的全部内容, 来源链接: utcz.com/qa/416039.html