首页
社区
课程
招聘
[求助]反射调用
发表于: 2014-6-23 10:50 10202

[求助]反射调用

2014-6-23 10:50
10202
关于java反射调用有个地方一直操作不了,希望有好人帮助帮助,问题如下:

代码:
           //反射获取ContextImpl类
                Class class2 = Class.forName("android.app.ContextImpl");
             Field field2 = class2.getDeclaredField("mServiceCache");
            //让final域可修改
            field2.setAccessible(true);
           if(field2 != null){
                //此处Cannot cast from Field to ArrayList
                // ((ArrayList)field.clear();
               /*此处抛IllegalArgumentException: expected receiver of type android.app.ContextImpl, but  got java.lang.Class<android.app.ContextImpl>
                field2.set(class2, null);*/
                /*空指针异常, expected receiver of type android.app.ContextImpl, but got null
                ((ArrayList)field2.get(null)).clear();*/

3种操作都无法完成ContextImp类的mServiceCache清空的操作。。还望高人指点一二。。

[峰会]看雪.第八届安全开发者峰会10月23日上海龙之梦大酒店举办!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 54
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
觉得楼主还是先弄清什么是Class什么是Object,还有反射的原理吧
2014-6-23 13:40
0
雪    币: 0
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
希望能详细指点一下。。。是不是有些东西,java反射是操作不了的。。。
2014-6-24 14:35
0
雪    币: 0
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
希望能详细指点一下。。。是不是有些东西,java反射是操作不了的。。。
2014-6-24 14:36
0
雪    币: 0
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
上面的问题基本已经明白不正确的原因了,但我队反射后的Filed进行强制类型转换有些头大,希望牛牛能指点一下。。3q
2014-6-25 09:33
0
雪    币: 25
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
楼主,我也遇到同样的问题了,不知你的问题解决了吗?求助。。。
2014-8-9 00:03
0
雪    币: 0
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
反射可以操作对象,却没办法操作实例,当然操作static域可以影响实例。。
2014-8-11 08:00
0
游客
登录 | 注册 方可回帖
返回
//