protobuf 根据类名直接生成Java对象
Message* createMessage(const std::string& typeName) { Message* message = NULL; const Descriptor* descriptor = DescriptorPool::generated_pool()->FindMessageTypeByName(typeName); if (descriptor) { const Message* prototype = MessageFactory::generated_factory()->GetPrototype(descriptor); if (prototype) { message = prototype->New(); } } return message; }
上面这断代码是从陈硕博客抄来的代码,通过的Message 的名字直接生成Message对像,是用C++实现。
我想实现java实现相同的功能,但是java里面都找不到相应的类,Google也找不出来,
有知道Java怎么实现从类名直接生成Java对象 吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
使用大消息机制。。。把所有的消息全部封装在一个顶层消息里面,每个字段都是optional。每次只保证使用其中一个字段,单做union使用。。
貌似也碰到了和LZ同样的疑问!
如果协议 就是 长度+message byte[] 这样又要如何解析呢?
貌似官方文档没说...
Descriptor 要事先用map缓存吗?
来个大牛帮忙看下啊
请问query是个什么变量,一个自己定义的Message?
FileDescriptor outerQueryDescriptor = query.getDescriptor();