ClassCastException: java.util.HashSet cannot be cast to java.lang.Stri

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取出的照成了类型错误

解决方法,存储时类型和取出时的 类型保持一致

猜你喜欢

转载自347563186.iteye.com/blog/2320386