开发者社区> 问答> 正文

Android使用Java反射机制,被调用的类多出一个未定义的field?报错

用Android Studio开发项目,用到Java反射机制,写了一个解析json方法如下

parseJSON(Class<?> clazz){
    ...
    Field[] fields = clazz.getDeclaredFields();
    ...
}



被调用的类

public class MItem{
    private int id;
    private String itemName;
}



运行的时候总是报错,debug显示fields的length是3,除了id和itemName还有一个

public static com.android.tools.fd.runtime.IncrementalChange com.demo.entity.MItem.$change



一直报错找不到“$change”。

用UnitTest测试一下打印出id和itemName,用Eclipse写了一个Android demo,测试也只打印出id和itemName,会和Android Studio有关吗?

不知哪位大神知道什么原因?谢谢!

展开
收起
爱吃鱼的程序员 2020-06-09 16:21:13 822 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    看来只有自己回答了,在stackoverflow上找到答案了。是因为AndroidStudio里InstantRun的问题,关闭这个功能就不会出现那个$change了。<arel="nofollow">http://stackoverflow.com/questions/34647546/a-weird-field-appear-in-android-studio

    2020-06-09 16:21:32
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载