static boolean isClassLoaded(String fullname) {
try {
Class.forName(fullname, false, Loader.instance().getModClassLoader());
return true;
} catch (Exception e) {
return false;
}
}
Этот метод имеет потенциал для запуска статического инициализатора fullname? У меня проблема со статическим инициализатором, вызываемым дважды. , когда я пытаюсь проверить, загружен ли класс с использованием isClassLoaded, и попытайтесь использовать этот класс, я получаю ошибку из-за двойного конструктора. Кто-нибудь знает, что является проблемой с Class.forName (fullname, false, Loader.instance(). GetModClassLoader()); ?Java статический инициализатор, называемый дважды
Непонятно, откуда берет 'Loader.instance(). GetModClassLoader()' и что он делает. Кроме того, вы говорите об «конструкторе, называемом дважды», но не о том, какой конструктор какого класса и как это относится к «статическому интериализатору» вашего названия вопроса. – Holger
Я мог бы заменить их на ThisClass.class.getClassLoader(); – MCdevelopers
В этом случае инициализатор не должен запускаться, и любое исключение в любом конструкторе не имеет ничего общего со статическими инициализаторами. – Holger