如何在java中设置google protobuf重复字段

如何在java中设置google protobuf重复字段,java,protocol-buffers,Java,Protocol Buffers,这是我的定义 message point{ optional float x = 1; optional float y = 2; } message test{ repeated field point = 1; } 在我的example.java文件中,我试图创建一个生成器,如下所示: for(i = 0; i < somearr.size(); i++) { // I get x and y values from traversing the array

这是我的定义

message point{
  optional float x = 1;
  optional float y = 2;
}
message test{
  repeated field point = 1;
}
在我的
example.java
文件中,我试图创建一个生成器,如下所示:

for(i = 0; i < somearr.size(); i++)
{
    // I get x and y values from traversing the array 
    float x = getX;
    float y = getY;

    // now I want to set the repeated field point
}
(i=0;i { //我通过遍历数组得到x和y值 float x=getX; float y=getY; //现在我想设置重复的场点 }
如何设置重复字段点?

非常类似于
重复电话号码
示例

利用这些消息将有助于代码的可读性

message Point {
  optional float x = 1;
  optional float y = 2;
}
message Test {
  repeated Point point = 1;
}
爪哇:

Test.Builder b=Test.newBuilder();
对于(i=0;i列出点=。。。;
Test.newBuilder().addAllPoint(点);

请考虑对你的答案加些解释。
Test.Builder b = Test.newBuilder();

for (i = 0; i < somearr.size(); i++) {
    float x = getX; // somehow?
    float y = getY; // ??
    b.addPoint(Point.newBuilder().setX(x).setY(y).build());
}

Test mytest = b.build();
List<Point> points = ...;
Test.newBuilder().addAllPoint(points);