java - 如何在 protobuf 消息中添加一个 int 数组

标签 java serialization protocol-buffers

我必须编写一个 protobuf 消息,它应该有 1 个整数变量和一个整数数组。

package protobuf;

message myProto {

optional uint32 message_id =1;
optional int update = 2;
//here I have to add a array of integers
//can I write like     optional int[] array =3;
//or should I use      optional repeated array;
//where array is another message with int variable

}

我的方法正确吗?

最佳答案

数组是通过“重复”映射的:

 repeated int32 data = 4;

请注意,您可能需要 sint32/uint32。另请注意,在所有三种情况下都可以使用“打包数组”,这样效率更高;

repeated int32 data = 4 [packed=true];

关于java - 如何在 protobuf 消息中添加一个 int 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7408203/

相关文章:

java - java中的工厂方法模式

c# - 在哪些情况下我必须在 WPF 中序列化命令的对象?

java - 如何在 UDAF 中使用第三方不可序列化对象?

c# - DataContractJsonSerializer 泛型列表包含元素类型的子类型

c++ - Google Protocol Buffer 不适用于 UDP?

python - 为什么我在使用 Google Protocol Buffers 时会看到 "cannot import name descriptor_pb2"错误?

java - 我如何识别 Java 套接字中的 EOF?

java - Eclipse 测试运行在与构建目录不同的目录中查找类

Java - 是否存在协变和逆变?

java - gRPC - 找不到方法