微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以使用 Java 中的协议缓冲区强制保存零整数值?

如何解决是否可以使用 Java 中的协议缓冲区强制保存零整数值?

我在我的 Java 项目中使用 Google 的协议缓冲区。

当我定义这样的消息时:

message Event {
  int32 action = 1;
}

并将零值保存为一个动作,那么零值将不会被保存。它能够保存除零以外的所有整数值。

我什至在 Protocol Buffers 生成的反编译代码中发现了它:

...
public void writeto(CodedOutputStream output) throws IOException {
  if (this.action_ != 0) {
    output.writeInt32(1,this.action_);
  }
  ...
}

你知道吗,我怎样才能强制保存零?或者它是不可能的,并且被 Protocol Buffers 设计简单地禁止了?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。