-
getFields()与 getDeclaredFields()
前者能够获取所有public字段,包括父类字段;
后者可以所有public/protected/private类型的字段,但是不包括父类的字段。
使用时根据自己的需求选择即可。 -
如何获取子类和父类的所有字段
首先,model对象的所有属性值,即字段,通常都是定义为private,所以,只能通过getDeclaredFields()方法去获取;然后,递归循环每个子类的父类吧,getSuperclass()方法可以做到。 -
反射获取或者修改对象的属性值
有两种方法可以做到,第一个就是获取到对应属性值的get/set方法;另外一种就是通过获取到对应的属性Field对象,然后调用其get/set方法。特别需要注意的是,由于字段都是private的,所以需要通过setAccessible(true)将其设置为可侵入的。
关于java通过反射 获取/修改 对象属性值的一些注意事项
猜你喜欢
转载自blog.csdn.net/qq_41885819/article/details/117152547
今日推荐
周排行