如何在Java代码和.proto文件之间共享枚举值
我有一门课要上。在该类中,其中一个字段是枚举(在它自己的类中)。我可以避免在.proto文件中定义相同的枚举值吗?或者我必须手动确保java代码中的枚举定义与.proto文件中的相同吗 java代码:如何在Java代码和.proto文件之间共享枚举值,java,enums,protocol-buffers,Java,Enums,Protocol Buffers,我有一门课要上。在该类中,其中一个字段是枚举(在它自己的类中)。我可以避免在.proto文件中定义相同的枚举值吗?或者我必须手动确保java代码中的枚举定义与.proto文件中的相同吗 java代码: public enum Location { UNDEF(0),HOME(1), WORK(2); ... } .proto文件对应代码: message Address{ enum location { UNDEF = 0; HOME = 1;
public enum Location {
UNDEF(0),HOME(1), WORK(2);
...
}
.proto文件对应代码:
message Address{
enum location {
UNDEF = 0;
HOME = 1;
WORK = 2;
}
optional location addressLocation;
...
}
保持这类同步的最佳解决方案通常是代码生成;确定哪一个定义是唯一的真理点,并从中创建其他定义。协议缓冲区具有诸如自动处理重复枚举值之类的漂亮功能。可能重复@TharinduKumara:我的问题是3年前提出的。您设置为重复的问题只有1天。我是原版的阿斯基,不是复制品