protobuf为什么使用构建器构造数据? [关闭]

问题描述 投票:0回答:1

在Java中,我们需要像创建数据结构一样进行操作

Builder builder=Data.newBuilder();
builder.setField(...);
...
Data=builder.build();

为什么不只为getter()的每个字段提供setter()Data?像:

Data data=new Data();
data.setFiled(...);
java protocol-buffers builder
1个回答
2
投票

Protobuf使用构建器来生成Message对象,因为the message objects themselves are immutable

消息对象[...]是不可变的,就像Java字符串一样。要构造消息对象,您需要使用构建器。

完成此[[可能以允许仅在已知消息对象不变的情况下才能进行优化。

© www.soinside.com 2019 - 2024. All rights reserved.