欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java PropertyDescriptor 应用

程序员文章站 2022-05-24 09:09:47
...

1. 概述

Java类中的私有的(private)属性是获取不到的(即使使用继承依然获取不到),那如果非要获取私有属性的值怎么办呢?一般的做法是将该java类封装称为一个JavaBean,即封装该私有属性,提供一对共有的get,set方法来访问私有属性。一般情况下都会这样做!但遇到特殊情况呢?比如,现有一个需求:访问一个Java类的私有属性,并且该类不提供访问该私有属性的共有方法。

//创建一属性描述器
				PropertyDescriptor pd = new PropertyDescriptor(name,
						User.class);
				//得到setter方法
				Method setter=pd.getWriteMethod(); 
				
				if (value.length == 1) {
					setter.invoke(u, value[0]); //对带有指定参数的指定对象调用由此 Method 对象表示的底层方法。
					
				} else {	
					setter.invoke(u, (Object)value);
				}

PropertyDescriptor描述Java Bean中通过一对存储器方法(getter / setter)导出的一个属性。我们可以通过该PropertyDescriptor对bean中的该属性进行读取和写入操作,也可以设置其getter / setter。