• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
第二天半
博客园    首页    新随笔    联系   管理    订阅  订阅

反射认识_03_改变成员变量Fields

包01:
package ReflectionChange; public class ReflectionPoint_AB { String str1="access"; String str2="change"; String str3="reflection"; @Override public String toString(){ return str1+":"+str2+":"+str3; } }

  

包02:
package ReflectionChange; import java.lang.reflect.Field; public class Change_AB { public static void main(String[] args) throws Exception { ReflectionPoint_AB rp=new ReflectionPoint_AB(); ChangeStr(rp); System.out.println(rp); } public static void ChangeStr(Object obj) throws Exception{ Field[] fields=obj.getClass().getFields();//通过对象,获得对象的类,通过类获得成员变量 for (Field field : fields) { if(field.getType()==String.class){ String oldStr = (String)field.get(obj);//获得属于某个对象的变量 System.out.println(oldStr); String newStr = oldStr.replace('a', 'b');//修改变量:作a换成b的修改 System.out.println(newStr); field.set(obj, newStr); } } } }

  

posted @ 2014-12-06 21:38  第二天半  阅读(167)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3