public static void main(String[] args) throws Exception {
int[] a = new int[] { 1, 2, 3 };
method(a);
}
public static void method(Object o) {
if (o != null && o.getClass().isArray()) {
Object[] a = (Object[]) o;
// java.lang.ClassCastException: [I cannot be cast to [Ljava.lang.Object;
}
}
我不应该知道o
. method
然后我怎样才能将它转换成一个Object[]
数组?
instanceof
不能成为解决方案,因为参数可以是任何类型的数组。
PS:我已经看到几个关于 SO 处理数组转换的问题,但没有人(还没有?)你不知道数组的类型。