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

使用反射获取数组组件的类型

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

403
使用反射获取数组组件的类型

import java.lang.reflect.Field;
/** from 
N  o w  J a v a . c o m**/

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"

                            + "            Type: %s%n"

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

                            c.getComponentType());

                }
                /* from 
                时 代      J a v a   公   众 号 - nowjava.com*/

            }

            if (!found) {

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

            }


            // production code should handle this exception more gracefully

        } catch (ClassNotFoundException x) {

            x.printStackTrace();

        }

    }

}


展开阅读全文