//这个程序的目的,是判断传入的对象是不是数组,如果是数组,就遍历打印,如果不是就原样输出。
//但是总是报Exception in thread "main" java.lang.IllegalArgumentException: Argument is not an array;求解求解啊
import java.lang.reflect.Array;
public class PrintArray {
public static void main(String[] args) {
// 定义个功能,来个数组打印数组,来个基本变量就打印数值
int[] a = new int[]{110, 112, 119};
sop(a);
}
private static void sop(Object obj) {
// 利用反射来判断,传入的类是什么类型
Class clazz = obj.getClass();
if (clazz.isArray()) {
// 是数组,取元素打印
int len = Array.getLength(clazz);// 关键还是数组类,为我们提供了方法
for (int i = 0; i < len; i++) {
System.out.print(Array.get(clazz, i) + " ");
}
} else {
// 不是数组是变量,直接打印
System.out.println(obj);
}
}
}
|
|