MessageOrBuilder

发布时间:2026/8/20 11:07:24
MessageOrBuilder 1.com.google.protobuf.MessageOrBuilder介绍com.google.protobuf.MessageOrBuilder是 Google Protocol Buffers(简称 Protobuf)Java 运行时库中的一个核心接口。它位于protobuf-java依赖包中。这个接口是一个统一的访问门面,它的主要作用是同时代表Message(具体消息类)和Message.Builder(构建器类)。Message:代表一个不可变的、已构建好的 Protobuf 消息对象。主要用于读取数据、序列化(转成字节/流)和传递。Message.Builder:代表一个可变的消息构建器,用于设置字段值,最终通过.build()方法生成不可变的Message对象。MessageOrBuilder接口巧妙地定义了所有“读”方法(如getField(),hasField(),getAllFields()等),并让Message和Message.Builder都实现了这个接口。这使得你可以用同样的方式(同一组方法)来读取一个不可变消息或一个正在构建中的消息。2. 特点统一的只读访问接口:提供了约 20 多个只读方法,涵盖检查字段是否存在(hasField)、获取字段值(getField)、获取未知字段等所有读操作。支持动态与静态访问:既可以像getField(Descriptors.FieldDescriptor)这样通过字段描述符动态访问,也可以通过编译生成的getXxx()静态类型安全地访问。与Message和Builder同时兼容:Message和Builder都实现了此接口,从而允许你编写不关心对象是否可变的通用处理代码。

相关新闻