What to use instead of Class.newInstance()?

Class.newInstance() is marked deprecated. Documentation does not suggest any alternatives. How are we meant to create instances now?


To quote Java 9's javadoc:

The call

clazz.newInstance()

can be replaced by

clazz.getDeclaredConstructor().newInstance()


Class.getDeclaredConstructor(...).newInstance(...)

Refer to Google errorprone's documentation (for example) for a description of why.