PropertyDescriptor获取javaBean的get set

本文介绍了一种使用PropertyDescriptor和Introspector类来获取JavaBean中特定属性的get和set方法的方法,简化了对JavaBean属性的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


如何获取javaBean的get  set 方法

已知属性名x --》 X ---》 getX ---》Method getX()   (较为繁琐)

现通过PropertyDescriptor来实现

import java.util.*;
import java.beans.*;
import java.lang.reflect.*;		

class  Test
{

	private int x;
	private int y;
	public Test(int x,int y)
	{
		this.x=x;
		this.y=y;
	}
	public static void main(String[] args)throws Exception
	{
		Test t = new Test(2,3);
		String propertyName = "x";
		PropertyDescriptor pd = new PropertyDescriptor(propertyName,t.getClass());
		Method getX = pd.getReadMethod();
		System.out.println(getX.invoke(t));

		Method setX = pd.getWriteMethod();
		setX.invoke(t,30);
		System.out.println(getX.invoke(t));
		
	}



	public void setX(int x)
	{
		this.x = x;
	}
	public int getX()
	{
		return x;
	}
	public void setY(int y)
	{
		this.y = y;
	}
	public int getY()
	{
		return y;
	}

	
}

用Introspector类来实现获取java bean的信息

<span style="white-space:pre">		</span>BeanInfo beanInfo = Introspector.getBeanInfo(t.getClass());
		PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();
		for(PropertyDescriptor pd : pds)
		{
			if(pd.getName().equals("x"))
			{
				System.out.println(pd.getReadMethod().invoke(t));
			}
		}
用MethodDescriptor类来实现获取java bean的信息
MethodDescriptor[] mds = beanInfo.getMethodDescriptors();
		for(MethodDescriptor md : mds)
		{
			Method m = md.getMethod();
			if(m.getName().equals("getX"))
			{
				System.out.println(m.invoke(t));
			}
		}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值