public class ReflectArray {
/**
* 数组的反射
* Array:是专门操作数组的类:
* 我们使用它可以拿到数组的长度和数组中的值
* Array.getLength();
* Array.get();
*/
public static void main(String[] args) {
//我们根据用户传递的数据进行打印
//至于用户传递的数据是数组还是单个数据我们都可以进行打印
// Object obj=null;
String[] str=new String[]{"abc","def","hij","fcg"};
printOf(str); //{abc,def,hij,fcg]
printOf(1225);
printOf("www.baidu.com");
/**
* {abc,def,hij,fcg]
1225
www.baidu.com
*/
}
private static void printOf(Object obj) {
Class clazz=obj.getClass(); //先得到对象的字节码文件
if(clazz.isArray()){ //判断字节码文件对象是否是一个数组类
//如果是
//先得到数组的长度
int length=Array.getLength(obj); //得到数组的长度
System.out.print("{");
for(int x=0;x<length;x++){
Object obj2=Array.get(obj, x); ////得到数组中的值
if(x<length-1){
System.out.print(obj2+",");
}else
System.out.println(obj2+"]");
}
}else
System.out.println(obj); //如果不是直接打印出数据
}原文:http://blog.csdn.net/zhizguoz/article/details/21065885