【发布时间】:2014-08-11 01:18:05
【问题描述】:
我可能只是在我的 proto 文件中弄乱了一些东西,但我似乎无法调用 toByteArray 函数。
使用Java,proto文件是用protoc编译的。
我在叫什么...
BaseMessage.builder = baseMessage = BaseMessage.newBuilder();
Acknowledgement.builder = acknowledgeMessage = Acknowledgement.newBuilder();
acknowledgeMessage.setOk(true);
baseMessage.setAcknowledgement(acknowledgeMessage);
baseMessage.build();
byte[] send = baseMessage.toByteArray();
BaseMessage 被声明为...
public static final class BaseMessage
extends com.google.protobuf.GeneratedMessage
implements BaseMessageOrBuilder {
也许我错过了什么......
BaseMessage 正在扩展 GeneratedMessage,它从 AbstractMessageLite 继承 toByteArray(),其中 toByteArray 是公共的...所以我应该可以使用它吗?
【问题讨论】:
-
它在超类中吗?
-
public static final class BaseMessage extends com.google.protobuf.GeneratedMessage implements BaseMessageOrBuilder { 我的意思是 GeneratedMessage 有 toByteArray 所以......这不应该工作吗?还是我错过了一些简单的东西?
-
如果
GeneratedMessage有toByteArray,那么BaseMessage也有toByteArray。当然,如果是private或者protected你就不能用了。
标签: java protocol-buffers