java反射(數組的反射)

1、

        int[] a1 = new int[]{1, 2, 3};
        int[] a2 = new int[4];
        int[][] a3 = new int[2][3];
        String[] a4 = new String[]{"a", "b", "c"};
        System.out.println(a1.getClass() == a2.getClass());//true
        //System.out.println(a1.getClass() == a4.getClass());
        //System.out.println(a1.getClass() == a3.getClass());
        System.out.println(a1.getClass().getName());//[I
        System.out.println(a1.getClass().getSuperclass().getName());//java.lang.Object
        System.out.println(a4.getClass().getSuperclass().getName());//java.lang.Object

2、打印元素

    public static void main(String[] args) throws Exception {
		String [] a = new String[]{"a","b","c"};
		printObject(a);
		printObject("xyz");
    }

    private static void printObject(Object obj) {
        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);
        }

    }

運行結果:

a
b
c
xyz

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章