А почему Java делает так?

jopi

Попрошайка
1,421
30
260
В общем суть
история с Mod Loader'ом продолжается, в общем обнаружилось что:
Классы я загружаю через ClassLoader#defineClass, и что самое интересное объект Class<?> главного класса мода, работает абсолютно правильно и логично то-есть если я запрошу у него getAnnotation или isInstance то будет всё работать правильно, а если я делаю объект главного класса через Class#newInstance то это всё выгорает в никуда и этот объект буквально становится пустышкой, Каст не работает, методы интерфейса не работают, проверки getAnnotation и isInstance работают через задницу с дичайшими костылями и буквально проверкой через String...
Как это можно исправить вообще? надеюсь кто-либо поможет с этой ситуацией
 
7,099
324
1,509
Мож, аннотации с неправильным retention? Чтобы оставались всегда нужно юзать RetentionPolicy.RUNTIME
 

jopi

Попрошайка
1,421
30
260
@hohserg1 с верными аннотациями, уже это решил отказался от объектов и теперь у меня eblя плохи дела с EventBus ибо в лист добавляется объект но в пределах метода, в другом методе лист нулевый
 
7,099
324
1,509
Значит объекты разные :m_faceplam:
 

jopi

Попрошайка
1,421
30
260
@hohserg1 нуу как сказать, регаю по объекту поля который во первых static во вторых final и в третьих почему?
 
7,099
324
1,509
Хз. Код покажи, так не понятно, в чем проблема.
Если тебе нужен некий синглтон, то сделай енум с одним значением. Он будет еще и потоко-безопасный и лениво-инициализируемый
 
Сверху