Как получить двоичное имя Java-класса, если у него только полное имя?

Классы и методы отражения, а также загрузчики классов и т. Д. Требуют так называемых «двоичных» имен классов для работы.

Вопрос в том, как получить двоичное имя, если у него только полное имя, то есть имя, которое можно использовать в исходном коде.

Например:

package frege;
public static class RT {
    ....
    public static class X { .... }
}

Полное имя класса будетfrege.RT.X, Тем не менее, чтобы получить объект класса, нужно написать:

Class.forName("frege.RT$X")

и нет

Class.forName("frege.RT.X")    // fails with ClassNotFoundException

потому чтоX случается, внутренний классfrege.RT.

Возможным, но неуклюжим решением было бы заменить. с участием$ от одного до другогоClass.forName() не бросаетClassNotFoundException больше или больше нет. заменить.

Есть ли лучшее / хорошо известное / стандартное решение? Я посмотрел в документах API дляClass, CLassLoader а такжеjava.lang.reflect но не нашел ничего полезного.

Ответы на вопрос(3)

Ваш ответ на вопрос