• 利用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();
    		}
    	}
    }
    

     运行结果:

  • 相关阅读:
    struts2 标签
    Ubutu命令 笔记积累
    虚拟机VirtualBox和Ubutu
    更新PostgreSQL数据
    向PostgreSQL插入数据
    PostgreSQL表依赖性跟踪
    PostgreSQL外部数据
    PostgreSQL分区介绍
    PostgreSQL继承详解
    PostgreSQL模式介绍
  • 原文地址:https://www.cnblogs.com/Big-Boss/p/9770929.html
Copyright © 2020-2023  润新知