public MyClass {
public HashMap<String, String> fu;
public MyClass() {
fu = new HashMap<>();
}
public void myMalloc() {
fu = new HashMap<>();
}
}
Class<?> cl = // I get class from list
myObject = (MyClass) cl.getConstructor().newInstance();
System.out.println(myObject.fu) // = null !
Class<?> cl = // I get class from list
myObject = (MyClass) cl.getConstructor().newInstance();
myObject.myMalloc();
// fu is well allocated
Я не понимаю, почему в первом случае распределение карты не выполняется? Что-то я пропустил?Действительно ли метод getConstructor() вызывает конструктор?
распределение карты ?? Если вы хотите инициализировать хэш-карту в первом случае, просто вызовите myMalloc() либо на объекте, либо внутри конструктора. Если вы правильно определили myMalloc(), как указано ниже, @Luiggi Mendoza –
Интересно, как ваш код компилируется, так как 'myMalloc' не имеет типа возврата –
@Sudhanshu' myMalloc' не является ни конструктором, ни допустимым методом ... –