获取java类所有属性名和方法名

今天做东西时,需要获取一个java类的所有属性名和方法名,找了些资料贴出来,希望对大家有帮助~
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.MethodDescriptor;
import java.beans.PropertyDescriptor;
	@Test
	/**
	 * 获取一个类的所有属性
	 */
	public void testPropertiesAndMethods(){
		try {
            BeanInfo bi = Introspector.getBeanInfo(Book.class);
            PropertyDescriptor[] pds = bi.getPropertyDescriptors();
            MethodDescriptor[] mds = bi.getMethodDescriptors();
            System.out.println("------------propertities-------------");
            for (int i = 0; i < pds.length; i++) {

                String propName = pds[i].getName();
                System.out.println(propName);
            }
            System.out.println("------------methods-------------");
            for (int i = 0; i < mds.length; i++) {

                String methodName = mds[i].getName();
                System.out.println(methodName);
            }

        } catch (IntrospectionException e) {
            e.printStackTrace();
        }
	}

	class Book{
	    private String id;
	    private String name;
	    private String author;
		public String getId() {
			return id;
		}
		public void setId(String id) {
			this.id = id;
		}
		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		public String getAuthor() {
			return author;
		}
		public void setAuthor(String author) {
			this.author = author;
		}

	    
	}

版权声明:本文为zhssuper原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。