一个奇怪的领域出现在android studio中

Jac*_*eng 7 pojo android-studio

pojo上课了

运行此代码

Field[] fields = clazz.getDeclaredFields();
Run Code Online (Sandbox Code Playgroud)

我在Android StudioIDE 下有一个字段:

它的类型是接口,com.android.tools.fd.runtime.IncrementalChange 它的名字是$ change

我的Android Studio版本是2.0预览版4

我自己定义的pojo课没有$ change字段

当我在eclipse中运行代码时,它正常工作.

这个领域来自哪里?我怎么能避免这个领域,是否有一些设置Android Studio

yol*_*ole 9

最有可能添加此字段是为了支持Android Studio 2.0中添加的即时运行功能,如果关闭"即时运行",则不会显示此字段.


dio*_*dna 9

我们可以通过使用合成修改器检查来解决此问题,而不是关闭即时运行.'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
            }
Run Code Online (Sandbox Code Playgroud)