我的代码是:
HashSet<String> set = (HashSet<String>) sharedPreferences.getStringSet("notes" , null);
我遇到了这个异常:
java.lang.ClassCastException: java.lang.String cannot be cast to java.util.S
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Set
at android.app.SharedPreferencesImpl.getStringSet(SharedPreferencesImpl.java:293)
at com.example.notes.MainActivity.onCreate(MainActivity.java:60)
最佳答案
在任何情况下,您都不能将String
强制转换为Set
(或除了String
类型之外的任何类型) code> 直接实现,例如 Object
、Comparable
或 Serialized
)。
您必须显式编写代码将String
转换为Set
,例如(例如)按逗号字符拆分它并添加拆分到您创建的集合中的每个元素。
关于java - Android studio,这不是从共享首选项中检索字符串并将其转换为 hashset<string> 的正确方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59460074/