new Class[]{String.class}
这行实际上是什么意思,为什么我们在getDeclaredConstructor()方法中作为参数传递时会写String.class?为什么我们把它作为Class数组传递?
答案 0 :(得分:3)
这将创建一个类型Class
的数组,其中包含单个元素,Class
类的String
对象。
Class#getDeclaredConstructor(..)
javadoc州
返回反映指定构造函数的
Constructor
对象 由此Class对象表示的类或接口的。的的parameterTypes
参数是一个标识Class
个对象的数组 构造函数的形式参数类型,按声明的顺序。如果这样Class
对象表示在非静态中声明的内部类 上下文,形式参数类型包括显式封闭 instance作为第一个参数。
您需要为相应的参数类型传入适当的Class
个对象。该方法使用这些类型来确定适当的构造函数。