Dynami c класс загрузки (java 11) - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть следующий код

ClassLoader classLoader = IFileTransferClient.class.getClassLoader();
Class f_t_c = classLoader.loadClass(fileGroupConfig.getFileTransferClientClassName());
fileTransferClient = (IFileTransferClient) f_t_c.newInstance();

Компилятор (Java 11) жалуется, что newInstance устарел.

Как преобразовать вышеуказанный код для Java 11 компилятор?

1 Ответ

3 голосов
/ 05 февраля 2020

Это долгосрочное устаревание Class#newInstance.

f_t_c.getConstructor().newInstance();

Вышеуказанный вызов вызовет нормальный (в данном случае: default) конструктор, который позволяет всю обработку в конструкции, например, исключения.

...