Class<?> baseClass = ...
Object obj = ...
obj
のタイプが実装/拡張されているかどうかをGWTで確認する方法はありますかbaseClass
? (クライアント側のコードです)。オブジェクトとクラス<?>が与えられた場合、そのオブジェクトがそのクラスのサブタイプであるかどうかを確認できますか? (クライアントサイドのGWT)
Class<?> baseClass = ...
Object obj = ...
obj
のタイプが実装/拡張されているかどうかをGWTで確認する方法はありますかbaseClass
? (クライアント側のコードです)。オブジェクトとクラス<?>が与えられた場合、そのオブジェクトがそのクラスのサブタイプであるかどうかを確認できますか? (クライアントサイドのGWT)
JRE emulation referenceはisInstance()がサポートされていないと言います。
あなたはobj instanceOf SomeConcrete.class
を使用することができますし、すべてのクラスは、コンパイル時に知られている必要があります。 GWTコンパイラはコンパイル時にすべての型を知っている必要があります(適切なJavaScriptコードを生成できるように)ので、本当の実行時の反映は不可能です。 GWTのアプローチは延期バインドですので、確認する必要はありません。
ここでは、このトピックに関する2008年のGoogle IOからpresentationです:結合繰延
は、プラグイン可能なコンパイル時の型置換とコード生成メカニズムです。この独自のプログラムモジュール化アプローチは、GWTコンパイラがコードを最適化する能力を損なうことなく、Javaリフレクションと動的クラスローディングの多くの利点を提供します。
このプロジェクトには、gwt-reflectionのようなものがありますが、私はそれを使用していません。