Що використовувати замість Class.newInstance ()?


Відповіді:


110

Щоб процитувати Java 9 Java-код :

Виклик

clazz.newInstance()

можна замінити на

clazz.getDeclaredConstructor().newInstance()


3
А як щодо Java 8 ?. Я не можу знайти метод getDeclaredConstructor () без параметрів там.
Юрій Козачок

1
@YuriiKozachok Ви могли б використовувати getConstrouctor, хоча зверніть увагу, що він поверне лише загальнодоступні конструктори. Крім того , зверніть увагу , що newInstanceне рекомендується в Java 8 (хоча його використання до сих пір всі проблеми , які зробили розробники JDK принизити його в 9 ...)
Mureinik

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.