Android Studio使用反射多出change和serialVersionUID

来源:互联网 发布:sql数据库规范化 编辑:程序博客网 时间:2024/06/15 12:08

最近接手了一个老项目,之前使用的是eclipse开发的,由于eclipse实在不方便换成了AS。但是发现本来在eclipse上运行没问题的项目在AS直接就报出了NullPointerException。调试了很久发现是由于发射的字段多出了俩个,直接上图这里写图片描述这里写图片描述
可以看到反射得到的字段多出了俩个字段changeserialVersionUID
网上查了一下,发现change是AS中instant run工具生成出来的,关于instant run的介绍https://segmentfault.com/a/1190000004039742。而serialVersionUID则是序列化验证版本一致性的。
所以使用AS开发中使用发射时最好做一下判断

if(!(("change".equals(field.getName()))||("change".equals(field.getName()))){//执行逻辑}
0 0
原创粉丝点击