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  可以获取该对应字段的 字段类型

}

你可能感兴趣的:(工作学到,java)