在Java中,我们需要像创建数据结构一样进行操作
Builder builder=Data.newBuilder();
builder.setField(...);
...
Data=builder.build();
为什么不只为getter()
的每个字段提供setter()
和Data
?像:
Data data=new Data();
data.setFiled(...);
Protobuf使用构建器来生成Message对象,因为the message objects themselves are immutable:
消息对象[...]是不可变的,就像Java字符串一样。要构造消息对象,您需要使用构建器。
完成此[[可能以允许仅在已知消息对象不变的情况下才能进行优化。