Учитывая объект и класс <?>, Я могу сказать, принадлежит ли объект подтипу этого класса? (GWT, на стороне клиента) - PullRequest
0 голосов
/ 30 декабря 2011
Class<?> baseClass = ...
Object obj = ...

Есть ли способ в GWT проверить, реализует ли тип obj / расширяет baseClass?(это код на стороне клиента).

1 Ответ

1 голос
/ 30 декабря 2011

Ссылка на эмуляцию JRE говорит, что isInstance () не поддерживается.

Вы можете использовать obj instanceOf SomeConcrete.class, и все классы должны быть известны во время компиляции.Компилятору GWT необходимо знать все типы во время компиляции (чтобы он мог генерировать соответствующий код JavaScript), поэтому истинное отражение во время выполнения невозможно.Я думаю, что подход GWT к этому - отложенное связывание , так что вам не нужно проверять.

Вот презентация от Google IO 2008 об этой теме:

Отложенное связывание - это подключаемый механизм замены типов во время компиляции и генерации кода.Этот уникальный подход к модульности программ обеспечивает множество преимуществ рефлексии Java и динамической загрузки классов без ущерба для способности компилятора GWT оптимизировать чертовый код вашего кода.

Похоже, для этого есть проект, gwt-mirror , но я этим не пользовался.

...