1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java反射修改对象属性值

java反射修改对象属性值

时间:2020-04-14 10:21:59

相关推荐

java反射修改对象属性值

package com.example.springcloud_mode.fanshe;import com.example.springcloud_mode.entity.YeChuanJiang;import java.lang.reflect.Field;import java.lang.reflect.Method;/*** @Auther: 叶川江* @Date: /4/20 14:38* @Description: 反射改变对象值*/public class Fanse2 {public static void main(String[] args) throws Exception {YeChuanJiang entity = new YeChuanJiang();entity.setName("ye");entity.setAge(28);entity.setId(1);System.out.println("修改之前地址值:"+entity.hashCode());System.out.println("修改之前对象值:"+entity);Field[] fields = entity.getClass().getDeclaredFields();for (Field field : fields) {//遍历对象的属性和值 属性和值一一对应field.setAccessible(true);//开启对象的属性访问权和修改权String name = field.getName();//获取本次遍历对象的属性名称String value = field.get(entity).toString();//获取本次遍历对象属性的值if ("ye".equals(value) && name.equals("name")){//逻辑是如果属性是name,并且值是"ye",就对本次属性值重新赋值field.set(entity,"yechuanjiang");}System.out.println("属性名称:"+name+",值:"+value);}System.out.println("修改之后对象值:"+entity);System.out.println("修改之后地址值:"+entity.hashCode());//打印结果/*** 属性名称:id,值:1* 属性名称:name,值:ye* 属性名称:age,值:28* YeChuanJiang(id=1, name=yechuanjiang, age=28)*/}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。