我pojo
上课了
运行此代码
Field[] fields = clazz.getDeclaredFields();
我在Android Studio
IDE 下有一个字段:
它的类型是接口,com.android.tools.fd.runtime.IncrementalChange
它的名字是$ change
我的Android Studio版本是2.0预览版4
我自己定义的pojo课没有$ change字段
当我在eclipse中运行代码时,它正常工作.
这个领域来自哪里?我怎么能避免这个领域,是否有一些设置Android Studio
?
最有可能添加此字段是为了支持Android Studio 2.0中添加的即时运行功能,如果关闭"即时运行",则不会显示此字段.
我们可以通过使用合成修改器检查来解决此问题,而不是关闭即时运行.'com.android.tools.fd.runtime.IncrementalChange'是合成的,因此我们可以使用isSynthetc方法检查该字段是否是合成的.
Field[] fields = objClass.getFields(); for (Field field : fields) { String name = field.getName(); Object value; if(field.isSynthetic()){ continue; } //add your code here }