通过反射获取,修改对象变量
2015-09-28 18:23
405 查看
最近工作不是太忙,就把自己的笔记整理出来,分享一下。
这个是通过反射获取修改对象变量的,有需要的可以看看,大神绕道
//反射遍历修改变量
Field[] fidles=map.get(object.getMsgid()).getClass().getDeclaredFields();
Field[] fidlesother=object.getClass().getDeclaredFields();
Field field=null;
Field fieldother=null;
for (int i = 0; i < fidlesother.length; i++) {
field=fidles[i];
field.setAccessible(true);
for (int j = 0; j < fidles.length; j++) {
fieldother=fidles[j];
fieldother.setAccessible(true);
if(field.getName().equals(fieldother.getName())){
try {
field.set(map.get(object.getMsgid()), fieldother.get(object));
} catch (IllegalAccessException e) {
if(C.DBG){
Log.i("消息列表反射异常", "消息列表反射异常");
}
e.printStackTrace();
} catch (IllegalArgumentException e) {
if(C.DBG){
Log.i("消息列表反射异常", "消息列表反射异常");
}
e.printStackTrace();
}
}
fieldother.setAccessible(false);
}
fieldother.setAccessible(false);
}
这个是通过反射获取修改对象变量的,有需要的可以看看,大神绕道
//反射遍历修改变量
Field[] fidles=map.get(object.getMsgid()).getClass().getDeclaredFields();
Field[] fidlesother=object.getClass().getDeclaredFields();
Field field=null;
Field fieldother=null;
for (int i = 0; i < fidlesother.length; i++) {
field=fidles[i];
field.setAccessible(true);
for (int j = 0; j < fidles.length; j++) {
fieldother=fidles[j];
fieldother.setAccessible(true);
if(field.getName().equals(fieldother.getName())){
try {
field.set(map.get(object.getMsgid()), fieldother.get(object));
} catch (IllegalAccessException e) {
if(C.DBG){
Log.i("消息列表反射异常", "消息列表反射异常");
}
e.printStackTrace();
} catch (IllegalArgumentException e) {
if(C.DBG){
Log.i("消息列表反射异常", "消息列表反射异常");
}
e.printStackTrace();
}
}
fieldother.setAccessible(false);
}
fieldother.setAccessible(false);
}
相关文章推荐
- 我不知道你是在一个多线程out该--【ITOO】
- Java线程编程中的主线程讲解
- EventBus使用详解
- cocos2d-js 安卓自定义本地通知功能
- 结对编程的一点感受
- Nginx系列教程之四:Nginx常用变量汇总及测试
- MPEG2-PS格式分析实例
- 黑马程序员——Java基础语法(一)_关键字、标识符、常量、变量、运算符
- 黑马程序员——Java基础语法(一)_关键字、标识符、常量、变量、运算符
- MFC的窗口分割的设计与实现
- 网络访问请求关于封装了拼接url的方法。
- EventBus的使用
- zoj 5518 异或
- 多线程的五种常见死锁问题 (看看你能答对几个)
- 部署巡检脚本
- iOS9 URL Schema 白名单 微信
- 黑马程序员——Java基础语法(一)_关键字、标识符、常量、变量、运算符
- java 深拷贝
- 剖析Java中线程编程的概念
- leetcode:Single Number