实例代码:
package cn.yzx.day1;
import java.lang.reflect.Array;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Arrays;
public class ReflectTest {
public static void main(String[] args)throws Exception {
// TODO Auto-generated method stub
String[] a4 = new String[]{"a","b","c"};
printObject(a4);
printObject("xyz");
}
private static void printObject(Object obj) {
// TODO Auto-generated method stub
Class clazz = obj.getClass();
if (clazz.isArray()) {
int len = Array.getLength(obj);
for (int i = 0; i < len; i++) {
System.out.println(Array.get(obj, i));
}
} else {
System.out.println(obj);
}
}
}
class TestArguments{
public static void main(String[] args){
for(String arg : args){
System.out.println(arg);
}
}
}
运行结果:
这样就实现了对数组类型和不是数组类型的分别打印。