集册 Java实例教程 使用反射获取数组的类型

使用反射获取数组的类型

欢马劈雪     最近更新时间:2020-01-02 10:19:05

467
使用反射获取数组的类型
// 来自 N o w J a v a . c o m - 时  代  Java

import java.lang.reflect.Field;

import java.lang.reflect.Type;

import static java.lang.System.out;


public class ArrayFind {

    public static void main(String... args) {

        boolean found = false;

        try {

            Class<?> cls = Class.forName(args[0]);

            Field[] flds = cls.getDeclaredFields();

            for (Field f : flds) {

                Class<?> c = f.getType();

                if (c.isArray()) {

                    found = true;

                    out.format("%s%n" + "           Field: %s%n"/* 来自 时 代 J a v a 公 众 号 - N o w J a v  a . c o m*/

                            + "            Type: %s%n"

                            + "  Component Type: %s%n", f, f.getName(), c,

                            c.getComponentType());

                }

            }

            if (!found) {

                out.format("No array fields%n");

            }


            // production code should handle this exception more gracefully

        } catch (ClassNotFoundException x) {

            x.printStackTrace();

        }

    }

}


展开阅读全文