java 属性默认_【急】求教如何设置javabean中某几个属性的默认值

不太明白你的意思,发点我之前写的练习题给你,或许对你有帮助

使用内省一个JavaBean的成员写入与读取方法

//创建内省对象

IntroSpector iSpector = new IntroSpector();

new PropertyDescriptor("num",IntroSpector.class).getWriteMethod().invoke(iSpector, 1232);

System.out.println(iSpector.getNum());

Object numObject =

new PropertyDescriptor("num", iSpector.getClass()).getReadMethod().invoke(iSpector, null);

System.out.println(numObject);

使用反射改变对象中所有参数中包含的数字

package com.heima.test;

import java.lang.reflect.*;

public class Main {

public static void main(String[] args)throws Exception{

//得到类的字节码类

Class cls = ReflectPoint.class;

//以类名方式得到字节码类

Class clsArgs = Class.forName("com.heima.test.ReflectPoint");

//获取该类的带参构造方法

Constructor constructor1 = clsArgs.getConstructor(int.class,int.class,int.class,int.class,int.class);

//获取该类的无参数构造方法

Constructor constructor2 = clsArgs.getConstructor();

//通过反射创建一个无参实例

ReflectPoint rPoint = (ReflectPoint)constructor2.newInstance();

//单句反射创建一个有参实例

ReflectPoint onePoint = (ReflectPoint)Class.forName("com.heima.test.ReflectPoint")

.getConstructor(int.class,int.class,int.class,int.class,int.class).newInstance(551, 231, 425, 435, 576);

//打印

System.out.println(onePoint.toString());

//获取参数对象

Field[] fields = cls.getDeclaredFields();

//迭代

for (Field field : fields) {

//符合int型

if (field.getType() == int.class) {

//将每个参数的值以string形势取出

String str = field.get(onePoint).toString();

//替换其中的内容

str = str.replace('5', '9');

//将字符串转为Integer

Integer num = Integer.valueOf(str);

//将新数据设置回对应对象的变量中

field.set(onePoint, num);

}

}

//打印

System.out.println(onePoint.toString());

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值