Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 Java 中有一个生成的 flatbuffers 对象。我需要在运行时根据用户输入查询字段。有没有办法做到这一点?
目前在 Java 中没有动态查询字段的方法,您必须静态知道字段的名称才能检索其值。所以你能做的最好的就是if (user_input == "field") return obj.field()。
if (user_input == "field") return obj.field()
有一种方法可以通过检查二进制模式文件(可以使用 生成)动态地找出模式中的字段flatc --schema myschema.fbs。遗憾的是,Java 中还没有反射帮助程序代码可以让您使用该信息来读取实际字段(目前仅 C++)。
flatc --schema myschema.fbs