5
我似乎无法找到一种方法来验证protobuf消息中的字段的值,而不显式调用其getter。检查protobuf消息 - 如何按名称获取字段值?
我看到了一些使用Descriptors.FieldDescriptor
实例到达消息映射内部的例子,但它们要么是基于迭代器的,要么是由字段编号驱动的。
一旦我有地图:
Map<Descriptors.FieldDescriptor, Object> allFields = myMsg.getAllFields();
我怎么能得到场"fieldXyz"
的价值?
我知道我可以使用myMsg.getFieldXyz()
,但这不能以系统的方式使用。
如果无法通过名称访问字段值,我想知道这个选择背后的基本原理。我可能仍然需要了解protobuf“哲学”:-)
这是一个有希望的方向。我如何知道应该将哪个Java类投入到该对象中?看看API,我只能看到返回'JavaType','Type'和类似的方法。 –