У меня есть два ClassLoaders, которые загружают один и тот же класс. Итак, очевидно, что они не могут передаваться друг другу. Но мне нужно получить доступ к объекту, созданному в другом ClassLoader.
У меня есть доступ к обоим ClassLoaders. Как я могу использовать этот объект в другом классе? Мне не нужно приводить объект в соответствие с текущим ClassLoader.
Но проблема в том, что тип возвращаемого объекта Object
. Итак, я должен бросить этот объект, чтобы получить доступ к некоторым методам. Как я могу это сделать? Обычное приведение типа, как показано ниже, вызывает ClassCastException, который я уже знаю.
Mojo mojo = (Mojo) descriptor.getMojo();
descriptor#getMojo()
возвращает объект типа Mojo
, но метод возвращает Object
. Как это сделать?
Дайте мне знать, если вам нужна дополнительная информация.
Я прочитал все теории о загрузке классов, но ни одна не определила правильного решения для этого.