Class<T[]> clazz 传参示例
时间: 2024-09-26 07:03:55 浏览: 23
java 反射getClass .class 的使用方法示例
5星 · 资源好评率100%
`Class<T[]> clazz` 是 Java 中的一个类型变量,它表示数组类型的 Class 对象,即可以接受任意类型的数组。在实际的编程中,这种类型常用于反射操作,例如动态创建数组或处理泛型方法的参数。
下面是一个简单的传参示例:
```java
import java.lang.reflect.Method;
public class Main {
public static void main(String[] args) {
// 获取 String 类的 Class 对象
Class<?> stringClass = String[].class; // 或者直接写 Class<String[]>
// 创建一个 String 数组实例
Object arrayInstance = new String[5];
// 使用 reflection 获取某个方法,该方法接收 String[] 参数
Method method = MyClass.class.getMethod("myMethod", Class.class); // 假设 MyClass 类有一个方法 myMethod
try {
// 调用方法并传入我们获取的 Class 对象
method.invoke(null, stringClass); // 第一个参数为 null,因为不是对特定对象的操作
System.out.println("Method called successfully");
} catch (Exception e) {
e.printStackTrace();
}
}
}
class MyClass {
public void myMethod(Class<?> clazz) {
// 这里可以根据传入的 Class 对象做进一步操作,如检查数组元素、创建新的数组等
}
}
```
在这个例子中,`myMethod` 接收一个 `Class<T[]>` 类型的参数,可以在方法内部根据这个参数处理各种类型的数据数组。
阅读全文