lang.reflect->java.lang.Array

1388 ワード

配列反射機能依存クラスjava.lang.reflect.Array
提供される機能:
1、配列のある位置の値を動的に取得します.
2、配列オブジェクト(1次元または多次元)を動的に生成します.
3、配列のある位置の値を動的に設定します.
例:

package array;

import java.lang.reflect.Array;
import java.util.Arrays;
/**
 *   Array     
 * @author xinchun.wang
 *
 */
public class ArrayReflect {
    public static void main(String[] args) throws SecurityException, NoSuchMethodException {
	int[] arr = new int[100];
	for (int i = 0; i < arr.length; i++) {
	    arr[i] = i * i;
	}
	//  Array         
	int length = Array.getLength(arr);
	System.out.println(length);
	
	//  Array             
	Object Obj = Array.get(arr, 10);
	System.out.println(Obj);
	
	//  Array          
	Array.set(arr, 20, new Integer(1));
	System.out.println(Arrays.toString(arr));

	//  Array      (    )100 :     
	B[] obj = (B[]) Array.newInstance(B.class, 100);
	for (int i = 0; i < obj.length; i++) {
	    B h = obj[i];
	    System.out.println(h); //   null ,           
	}
	System.out.println(obj.length);

	//               1  : 2 B[]  ,      4 B  
	B[][] obj2 = (B[][]) Array.newInstance(B.class, 2,4);
	System.out.println(Arrays.toString(obj2));
    }
}