[英]Given an object and a Class<?>, can I tell whether the object is of sub-type of that class? (GWT, client-side)
Class<?> baseClass = ...
Object obj = ...
GWT中有没有一种方法可以检查obj
的类型是否实现/扩展baseClass
? (这是客户端代码)。
JRE仿真参考指出isInstance()不被支持。
您可以使用obj instanceOf SomeConcrete.class
,并且必须在编译时知道所有类。 GWT编译器需要在编译时知道所有类型(以便它可以生成适当的JavaScript代码),因此无法进行真正的运行时反射。 我认为GWT的方法是延迟绑定,因此您不必检查。
以下是2008 Google IO关于此主题的演示 :
延迟绑定是可插入的编译时类型替换和代码生成机制。 这种独特的程序模块化方法提供了Java反射和动态类加载的许多好处,而不会影响GWT编译器优化代码的能力。
似乎有一个为此项目, gwt-reflection ,但我还没有使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.