在Java中,反射机制是一种强大的功能,它允许程序在运行时获取或操作类的内部信息。数组在Java中也是一种对象,因此可以通过反射来获取其详细信息,包括数组元素的类型。下面是一个详细的示例,展示了如何使用Java反射API来获取数组元素类型。 首先,我们定义一个类,该类包含一个方法,该方法接受一个数组作为参数,并使用反射来获取并打印出该数组的元素类型。接着,我们会测试这个方法,并提供不同类型的数组作为输入。 以下是完整的示例代码:
import java.lang.reflect.Array;
public class ArrayReflectionExample {
public static void main(String[] args) {
// 创建不同类型的数组
int[] intArray = {1, 2, 3, 4, 5};
double[] doubleArray = {1.1, 2.2, 3.3, 4.4, 5.5};
String[] stringArray = {"Hello", "World", "Reflection", "Example"};
// 调用方法并传入不同类型的数组
printArrayType(intArray);
printArrayType(doubleArray);
printArrayType(stringArray);
}
/**
* 使用反射来打印数组的元素类型
* @param array 任意类型的数组
*/
public static void printArrayType(Object array) {
// 检查是否是数组类型
if (array.getClass().isArray()) {
// 获取数组元素类型