在使用反射中,Object代表一个数组对象,如何转化为数组

这个简单,首先要明白所有foreach支持的对象都必须实现了java.lang.Iterable方法,这样你就可以写一个下面的工具方法:
Java代码   
 
 
  1. public static Iterable makeArrayObject(Object array) {   
        List tem = new ArrayList();   
        for (int i = 0; i < Array.getLength(array); i++) {   
            tem.add(Array.get(array, i));   
        }   
        return tem;   
    }  
    

    public static Iterable makeArrayObject(Object array) {
    		List tem = new ArrayList();
    		for (int i = 0; i < Array.getLength(array); i++) {
    			tem.add(Array.get(array, i));
    		}
    		return tem;
    	}
    


    只要返回一个Iterable就可以在foreach中使用了,类似这样:
Java代码   
  1. for (Object o : makeArrayObject(object)) {   
  2.     System.out.println(o);   
  3. }  

你可能感兴趣的:(在使用反射中,Object代表一个数组对象,如何转化为数组)