Field 映射 通过某个字符串获取对象中的字段值,并且更改该值

。public static void main(String[] args) throws Exception {
     Student pt1 = new Student();//对象
    pt1.setName("1212121");//字段初始化值
    pt1.setAge(1);//字段初始化值
    //通过某个字符串字段名 但是这个字段名是公有的
    Field fieldB = pt1.getClass().getField("name"); 
    System.out.println(fieldB.get(pt1)); //打印当前的字段值
    fieldB.set(pt1,"111111111");//赋值新的字段值
    System.out.println(fieldB.get(pt1)); //  打印新的字段值
    //如果是私有的字段名称 下边这样获取
    Field fieldA = pt1.getClass().getDeclaredField("age"); 
    fieldA.setAccessible(true);// 添加访问权限,才能访问私有属性, 不然会报错
    System.out.println(fieldA.get(pt1));//打印旧的字段值
    fieldA.set(pt1,2);//赋值新的字段值
    System.out.println(fieldA.get(pt1));//打印新的字段值
    // 其中fieldA.getType  可以获取该对应字段的 字段类型

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值