JAVA中newinstance方法显示已过时,那么有啥方法作为替代呢?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA中newinstance方法显示已过时,那么有啥方法作为替代呢?相关的知识,希望对你有一定的参考价值。
参考技术A clazz.getDeclaredConstructor().newInstance() 参考技术B 创建对象请用new,或者集成了spring的话交给容器去创建JAVA9之后废弃newInstance()方法
JAVA9之后废弃newInstance()方法
根据JAVA11的API 我们可以看见反射中的newInstance()方法不推荐使用了,用
clazz.getDeclaredConstructor().newInstance()
代替
例如
package reflect;
import java.lang.reflect.InvocationTargetException;
/**
* 获取class对象的几种方法
* 对象.get.class
* 类 class
* Class.forName(全限定类名)
*
*/
public class Demo
public static void main(String[] args) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException
String string="abc";
Class<?> class1=string.getClass();
class1=String.class;
try
class1=Class.forName("java.lang.String");
catch (ClassNotFoundException e)
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println((String)class1.getDeclaredConstructor().newInstance());
以上是关于JAVA中newinstance方法显示已过时,那么有啥方法作为替代呢?的主要内容,如果未能解决你的问题,请参考以下文章
IE错误“Java(TM) 已被阻止,因为它已过时并且需要更新。”的解决方法
过时的PreferenceActivity导致Fragment显示问题