Protobuf为什么使用构建器来构建数据?

在Java中,要创建数据结构,我们需要像

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

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

Data data=new Data();
data.setfiled(...);
SODOU619157158 回答:Protobuf为什么使用构建器来构建数据?

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

  

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

这可能是 完成的操作,以允许仅在已知Message对象不变的情况下才能进行优化。

本文链接:https://www.f2er.com/2942625.html

大家都在问