JAVA怎么给proto中数组赋值

为 Java 中的 Protocol Buffers 数组赋值可采取以下两种方法:使用数组字段构建器使用 addXXX() 方法

如何在 Java 中为 Protocol Buffers 数组赋值

在 Java 中为 Protocol Buffers 数组赋值有两种主要方法:

1. 使用数组字段构建器

Int32Value[] values = { Int32Va

lue.of(1), Int32Value.of(2), Int32Value.of(3) }; RepeatedField repeatedField = FieldMask.newBuilder().addAllPaths(values).build().getPathsList();

2. 使用 addXXX 方法

FieldMask.Builder builder = FieldMask.newBuilder();
builder.addPaths(1);
builder.addPaths(2);
builder.addPaths(3);
RepeatedField repeatedField = builder.build().getPathsList();

注意:

  • RepeatedField 是 Protocol Buffers 数组的 Java 表示形式。
  • newBuilder() 方法创建一个可修改的 Protocol Buffers 消息构建器。
  • addAllXXX()addXXX() 方法将值添加到RepeatedField中。
  • build() 方法创建不可修改的 Protocol Buffers 消息。

示例:

以下示例展示了如何为 Protocol Buffers 数组赋值:

// 创建一个 Protocol Buffers 消息
FieldMask fieldMask = FieldMask.newBuilder()
  .addAllPaths(1, 2, 3) // 使用 addAllXXX() 方法
  .build();

// 获取 Protocol Buffers 数组
RepeatedField paths = fieldMask.getPathsList();

// 遍历 Protocol Buffers 数组
for (Int32Value value : paths) {
  System.out.println(value.getValue());
}