ava.lang.RuntimeException: Unable to start activity ComponentInfo{SearchActivity}: java.lang.ClassCastException: java.util.HashSet cannot be cast to java.lang.String at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3254) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3350) at android.app.ActivityThread.access$1100(ActivityThread.java:222) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1795) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:158) at android.app.ActivityThread.main(ActivityThread.java:7237) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) Caused by: java.lang.ClassCastException: java.util.HashSet cannot be cast to java.lang.String at android.app.SharedPreferencesImpl.getString(SharedPreferencesImpl.java:225) at SearchActivity.readHistory(SearchActivity.java:332) at SearchActivity.onCreate(SearchActivity.java:244) at android.app.Activity.performCreate(Activity.java:6876) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3207) ... 9 more
今天遇到一个这个问题 这个原因是在用SharedPreferences储存时用的set但是在取出的时候 用String取出的照成了类型错误
解决方法,存储时类型和取出时的 类型保持一致