簡體   English   中英

如何在Java代碼和.proto文件之間共享Enum值

[英]How do I Share Enum values between my Java code and .proto file

我有一堂課要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代碼生成的內置支持,並具有諸如自動處理重復的枚舉值之類的漂亮功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM