Java协议缓冲区-反射
我不熟悉协议缓冲区和探索反射方法。我看到一个方法GeDeaveCurnType()在C++中获得反射接口,但是,在java中我找不到类似的方法。有人知道如何在Java中获取反射接口吗?可以在中找到反射接口。通常,人们会使用实例访问接口Java协议缓冲区-反射,java,reflection,protocol-buffers,Java,Reflection,Protocol Buffers,我不熟悉协议缓冲区和探索反射方法。我看到一个方法GeDeaveCurnType()在C++中获得反射接口,但是,在java中我找不到类似的方法。有人知道如何在Java中获取反射接口吗?可以在中找到反射接口。通常,人们会使用实例访问接口 public static void main(String[] $) { Class clazz = String.class; System.out.println(clazz.getName()); // "java.lang.String"
public static void main(String[] $)
{
Class clazz = String.class;
System.out.println(clazz.getName()); // "java.lang.String"
}
你能描述一下你为什么要这么做吗???,我知道我会考虑到这一点来调整答案
- 正如其他人所指出的,您可以在java中的任何类上使用反射
- java版本提供了。取决于你想做什么,你可能会发现你在追求什么。该类允许您使用proto描述符读取任意协议缓冲区,并通过getField方法等访问字段。您将需要proto描述符中的协议缓冲区(您可以使用protoc命令的--descriptor\u set\u out=参数来获取它)
- 如果不选择rmise来提高速度,protoc命令将生成使用反射的类
com.google.Protobuf.Message
接口。所有消息对象都实现了这一点,并且它有一些方法,如getField()
,可以通过描述符读取任意字段。类似地,所有构建器都实现了Message.Builder
,它具有setField()
等等。不像C++,这个功能不被委派给单独的对象。谢谢你,布鲁斯。我检查了一些C++协议缓冲区代码,我能找到一些方法,比如GETRealOfTebug()。然而,我在Java中找不到类似的东西。在Java中,是否有其他方法或其他方法可以实现这种反射?更具体地说,我试图在Java中获得非常类似的方法:)这是否澄清了我想要弄明白的内容?:)另外,我知道标准java提供了反射机制,但是,我正在尝试使用来自协议缓冲区的反射机制。例如,我们有C++中的原型Buff.MeaGe.Engy。但我在Java中找不到这一点,问题不在于Java反射。这是关于协议缓冲区反射的。这个答案是不可能的。