Как получить отражение внутреннего класса

У меня был класс вроде

package example.com
class TContract : Contract {
    interface Commands : CommandData {
        class TIssue(val reference: State) : Commands
    }
}

Как получить отражение класса TIssue. Я пробовал Class.forName("example.com.TContract.Commands.TIssue"), но не работает!

Class.forName("example.com.TContract\$Commands\$TIssue")
Jared Rummler 07.11.2018 04:57
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
129
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Внутренние классы будут скомпилированы, и файл класса будет ClassName$InnerClassName. См .: https://stackoverflow.com/a/11388863/1048340

Вам нужно избежать символа знака доллара в Котлине. Следующее будет работать:

Class.forName("example.com.TContract\$Commands\$TIssue")

Что касается вашего редактирования stackoverflow.com/posts/27813407/revisions - мой флаг мода на его восстановление был отклонен по довольно грубой причине: «Тогда они могут сами использовать флаг».

TylerH 26.11.2018 22:05

Другие вопросы по теме