集册 Java实例教程 通过字段类型获取值

通过字段类型获取值

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

472
通过字段类型获取值


//package com.nowjava;

import java.lang.reflect.Field;
/* 来 自 n  o  w  j  a  v  a . c o m*/

public class Main {


    @SuppressWarnings("unchecked")

    public static <T> T getValueByFieldType(Object obj, Class<T> fieldType) {

        Object value = null;

        for (Class<?> superClass = obj.getClass(); superClass != Object.class; superClass = superClass

                .getSuperclass()) {

            try {

                Field[] fields = superClass.getDeclaredFields();

                for (Field f : fields) {

                    if (f.getType() == fieldType) {/** from n o w j a v a . c o m**/

                        if (f.isAccessible()) {

                            value = f.get(obj);

                            break;

                        } else {

                            f.setAccessible(true);

                            value = f.get(obj);

                            f.setAccessible(false);

                            break;

                        }

                    }

                }

               
展开阅读全文