今天在跑程序的时候报了一处莫名其妙的错,害的我花了了很久的时间去解决,到最后发现问题时,才发现自己跳进了自己挖的坑。
在执行下面的代码的时候,报了一个Exception,类型转换异常,说String不能转换成Long:
// 取long值
long uTime = Properties.getLong(String.valueOf(userId));
long gTime = Properties.getLong(String.valueOf(groupId));
存的的时候按照下面的方式存的:
Properties.saveLong(groupId, itemsMills[which]);
思前想后,感觉没有什么问题,不知道为什么会报错,花了大量的时间去处理,真是坑爹!后来我把包卸载之后再运行程序,发现运行正常…..
后面才想起,我之前写过这样的代码:
Properties.saveString(groupId, itemsMills[which]);
问题就在这里,在程序覆盖安装之后,ShareedPreference里面的文件中groupId字段为String,执行long gTime = Properties.getLong(String.valueOf(groupId))报异常那就可以理解了!解决办法就是卸载,重新安装!
这个错误虽然很低级,但是值得总结,下次遇到同样的问题就能快速解决了!