java 反射 javabean_反射与JavaBean

//一种方法加载属性文件

//InputStream ips = new FileInputStream("config.properties");

//另一种方法加载属性文件 注意:该文件放到了src目录下

//InputStream ips = ReflectTest.class.getClassLoader().getResourceAsStream("ZHANG/Reflect/config.properties");

InputStream ips = ReflectTest.class.getResourceAsStream("config.properties");

Properties props = new Properties();

props.load(ips);

ips.close();

String classname = props.getProperty("CLASSNAME");

Collection conllections = (Collection) Class.forName(classname).newInstance();

PropertyDescriptor pd  = new PropertyDescriptor(属性名称,对

象.getClass);Method methodGetX = pd.getReadMethod();//得到这个get方

Object retVal = methodGetX.invoke(对象);//获得方法返回的值

Method methodSetX = pd.getWriteMethod();//得到set这个方法

methodSetX.invoke(对象,值);//获得方法返回的值

Appche 提供了BeanUtil工具包用它来操作JavaBean,支持属性的级联操作,

如Date date = new Date(); set方法时候可以用date.time 来设置

date.setTime()方法.

BeanUtil类 BeanUtil类是用字符串形势对bean操作,

BeanUtil.setProperty(对象,"属性名","值");

PropertyUtil是由属性本身的类型设置和返回的值

PropertyUtil.setProperty(对象,"属性名",值);

JavaBean可以转换成Map

------------------------------

URL(Uniform Resource Locator)

静态的导入类的方法

import static java.util.Math.abs

Class.forName("java.lang.String");//得到这个类的字节码

反射就是把JAVA类中的各个成分映射成相应的类。Field

Method

Contructor

Package

getClass.getDeclaredField("x");//把私有设置成可访问

Field.setAccessible(true);//抢占私有成员属性

hashcode()使hashset()不能添加相同项;如果改变其中值,remove()是不起作用,导致java内存泄漏现象;不改其值可以remove().

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值