class.newInstance()方法从java9开始弃用

413 阅读1分钟

原因: 使用class.newInstance()方法时由默认构造函数中抛出的异常无法被捕获;

解决: 使用class.getDeclaredConstructor().newInstance()方法代替; 这个方法也是默认调用的无参数构造函数,如果有构造参数,需要指明类型和对应实例的值。

public Constructor<T> getDeclaredConstructor(Class<?>... parameterTypes)

public T newInstance(Object ... initargs)