簡體   English   中英

如何使用protobuf編譯Java特殊性枚舉

[英]how to use protobuf compile java specifity enum

當我使用protobuf編譯Java特殊枚舉時,我的enum.proto代碼為:

enum QosP{

    AT_MOST_ONCE = 0;
    AT_LEAST_ONCE = 1;
    EXACTLY_ONCE = 2;

    required int32 val = AT_MOST_ONCE.value;
}

我總是遇到錯誤,如下所示:缺少枚舉常量的數值。 所需的int32 val始終無法compile.plz我需要幫助。

我嘗試使用proto2和proto3進行編譯,並找到許多文檔,但是解決了這個問題。

我想使用protobuf comiple java枚舉,結構如下:

enum QosP{

    AT_MOST_ONCE = 0;
    AT_LEAST_ONCE = 1;
    EXACTLY_ONCE = 2;

    required int32 val = AT_MOST_ONCE.value;

}

枚舉聲明和用法應分別進行。

首先將枚舉聲明為類型:

enum QosP {
    AT_MOST_ONCE = 0;
    AT_LEAST_ONCE = 1;
    EXACTLY_ONCE = 2;
}

然后使用枚舉定義字段的類型。 也可以定義一個默認值:

message Something {
    QosP val = 1 [default = AT_LEAST_ONCE];
}

暫無
暫無

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

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