Android studio android studio中出现了一个奇怪的字段
我有一门Android studio android studio中出现了一个奇怪的字段,android-studio,pojo,Android Studio,Pojo,我有一门pojo课 运行此代码 Field[] fields = clazz.getDeclaredFields(); 我在Android Studio的IDE下找到了一个字段: 它的类型是interfacecom.android.tools.fd.runtime.IncrementalChange 它的名字是$change 我的Android Studio版本是2.0预览版4 当我在eclipse中运行代码时,它工作正常 这个领域是从哪里来的? 如何避免此字段,Android Studio
pojo
课
运行此代码
Field[] fields = clazz.getDeclaredFields();
我在Android Studio的IDE下找到了一个字段:
它的类型是interfacecom.android.tools.fd.runtime.IncrementalChange
它的名字是$change
我的Android Studio版本是2.0预览版4
当我在eclipse中运行代码时,它工作正常
这个领域是从哪里来的?
如何避免此字段,Android Studio中是否有一些设置?添加此字段很可能是为了支持Android Studio 2.0中添加的即时运行功能,如果您关闭Instant Run,则不会出现此问题。我们可以通过使用合成修改器检查来解决此问题,而不是关闭Instant Run。”com.android.tools.fd.runtime.IncrementalChange'是合成的,因此我们可以使用issyntrac方法检查字段是否是合成的
Field[] fields = objClass.getFields();
for (Field field : fields) {
String name = field.getName();
Object value;
if(field.isSynthetic()){
continue;
}
//add your code here
}
我认为Diorna的答案是最好的。安装运行是Android Studio的新功能,我不会关闭它
我在sdk库中使用JsonTool,当我使用androidStudio2.2 JsonTool运行我的应用程序时。objectToJson()给我一个错误的json字符串,我添加代码
如果(name.contains(“this$”)| | field.isSynthetic())继续代码>
解决它太好了!在设置SearchInstant Run时,有一个复选框,默认值是选中的。当我检查它时,字段消失了!谢谢不适合我<代码>java for(字段:raw.getDeclaredFields()){if(Field.isSynthetic()){continue;}Field.setAccessible(true);