用什么代替Class.newInstance()?


Answers:


98

引用Java 9的javadoc

通话

clazz.newInstance()

可以替换为

clazz.getDeclaredConstructor().newInstance()


3
Java 8呢?我在那里找不到没有参数的getDeclaredConstructor()方法。
Yurii Kozachok

1
@YuriiKozachok您可以使用getConstrouctor,尽管请注意,它只会返回公共构造函数。另外,请注意newInstanceJava 8中并没有弃用它(尽管使用它仍然存在使JDK开发人员在9中弃用它的所有问题...)
Mureinik

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.