【问题标题】:How do I Share Enum values between my Java code and .proto file如何在我的 Java 代码和 .proto 文件之间共享枚举值
【发布时间】:2013-10-02 06:13:52
【问题描述】:

我有一个我想要 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 enums protocol-buffers


【解决方案1】:

保持这种同步的最佳解决方案通常是代码生成;确定您的哪些定义是单点真理,并从中创建其他定义。 Protocol Buffers 有 built-in support for Java code generation 具有漂亮的功能,例如自动处理重复的枚举值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-20
    • 2012-03-19
    • 2021-06-01
    • 2014-05-21
    • 2015-06-09
    • 2012-01-10
    • 2017-03-28
    • 2017-10-22
    相关资源
    最近更新 更多