java内省机制

import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;

public class IntrospectorDemo {
	String nameTest;

	public static void main(String[] args) throws Exception {
		IntrospectorDemo demo = new IntrospectorDemo();
		demo.setName("Winter Lau");
		// 如果不想把父类的属性也列出来的话,
		// 那 getBeanInfo 的第二个参数填写父类的信息
		BeanInfo bi = Introspector.getBeanInfo(demo.getClass(), Object.class);
		PropertyDescriptor[] props = bi.getPropertyDescriptors();
		
		for (int i = 0; i < props.length; i++) {
			System.out.println(props[i].getName() + "="
					+ props[i].getReadMethod().invoke(demo, null));
		}
	}

	public String getName() {
		return nameTest;
	}

	public void setName(String name) {
		this.nameTest = name;
	}
}


name=Winter Lau

你可能感兴趣的:(java,exception,String,null,Class,import)