¿Qué usar en lugar de Class.newInstance ()?


Respuestas:


110

Para citar el javadoc de Java 9 :

La llamada

clazz.newInstance()

puede ser reemplazado por

clazz.getDeclaredConstructor().newInstance()


3
¿Qué pasa con Java 8 ?. No puedo encontrar el método getDeclaredConstructor () sin parámetros allí.
Yurii Kozachok

1
@YuriiKozachok Puede usar getConstrouctor, aunque tenga en cuenta que solo devolverá constructores públicos . Además, tenga en cuenta que newInstanceno está obsoleto en Java 8 (aunque su uso todavía tiene todos los problemas que hicieron que los desarrolladores de JDK lo desaprobaran en 9 ...)
Mureinik

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.