我们可以调用一个参数为java.lang.reflect.Array的方法吗?

我们可以调用一个参数为java.lang.reflect.Array的方法吗?,java,reflection,Java,Reflection,我对下面使用参数为java.lang.reflect.Array的代码有疑问 public static void display(java.lang.reflect.Array stringArray) { System.out.println(java.lang.reflect.Array.get(stringArray, 1)); } 上面提到的代码将成功编译,但我是否应该编写此方法以及可能的用例是什么 如果我能写这样的方法,我们怎么能调用这个方法呢?然而,我们不能实例化java

我对下面使用参数为
java.lang.reflect.Array
的代码有疑问

public static void display(java.lang.reflect.Array stringArray) {
    System.out.println(java.lang.reflect.Array.get(stringArray, 1));
}
上面提到的代码将成功编译,但我是否应该编写此方法以及可能的用例是什么


如果我能写这样的方法,我们怎么能调用这个方法呢?然而,
我们不能实例化java.lang.reflect.Array
,也不能从
类引用中获取对象,因为我们可以获取
java.lang.reflect.Field
对象

Array
只是一个helper类——请注意它上面的所有方法都是静态的。我不希望有这样的例子。要接受一个数组和任何数组,包括
int[]
等,您需要使方法接受
对象

public static void display(Object stringArray) {
    System.out.println(java.lang.reflect.Array.get(stringArray, 1));
}
此时,您可以传递一个
String[]
作为参数,它将打印出第二个元素

但是,如果只接受字符串数组,为什么不编写:

public static void display(String[] stringArray) {
    System.out.println(stringArray[1]);
}

??现在,您的意图已经清楚了…

此代码的目标是什么?你想用这段代码做什么?实际上我刚刚想到了这段代码!!所以我试过了,但我没能叫它,这就是为什么我问,这是否可能。