• 利用Java反射根据类的名称获取属性信息和父类的属性信息


    代码:

    import java.lang.reflect.Field;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    
    public class ObjectUtil {
    
    	/**
    	 * 利用Java反射根据类的名称获取属性信息和父类的属性信息
    	 * @param className
    	 * @return
    	 * @throws ClassNotFoundException
    	 */
    	public static List<Field> getFiledsInfo(String className) throws ClassNotFoundException {
    		List<Field> list = new ArrayList<>();
    		Class<?> clazz = Class.forName(className);
    		Field[] fields = clazz.getDeclaredFields();
    		list.addAll(Arrays.asList(fields));
    		Class<?> superClazz = clazz.getSuperclass();
    		if (superClazz != null) {
    			Field[] superFields = superClazz.getDeclaredFields();
    			list.addAll(Arrays.asList(superFields));
    		}
    		return list;
    	}
    	
    	public static void main(String[] args) {
    		try {
    			List<Field> fields = getFiledsInfo(Student.class.getName());
    			for (Field field : fields) {
    				// 设置访问对象权限,保证对私有属性的访问
    				field.setAccessible(true);
    				System.out.println(field.getName());
    			}
    		} catch (ClassNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    }
    

     运行结果:

  • 相关阅读:
    mysql5大引擎之间的区别和优劣之分
    关于集合
    泛型
    集合2
    easyui 入门讲解
    <input>和<textarea>
    php中echo(),print(),print_r(),var_dump()间的区别
    PHP图形操作之生成图像验证码
    JZ046圆圈中最后剩下的数
    Python3连接MySQL
  • 原文地址:https://www.cnblogs.com/Big-Boss/p/9770929.html
Copyright © 2020-2023  润新知