在Android Studio中映射<string,?>

时间:2015-12-15 14:30:34

标签: android sharedpreferences

我正在尝试从Android Studio中的SharedPreferences获取字符串。但我得到两个意外的错误。 这是我的代码:

Map<String,?> keys = sharedpreferences.getAll();

for (Map.Entry<String, String> entry : keys.entrySet())
{
    System.out.println(entry.getKey() + "/" + entry.getValue());
}

我得到&#34;无法解决符号&#39; entrySet&#39;&#34;和#34;意外的令牌&#34;为&#34;为&#34; 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

在for循环中,将<String, String>替换为<String, ?>以解决错误。

Map<String,?> keys = sharedpreferences.getAll();

for (Map.Entry<String, ?> entry : keys.entrySet())
{
    System.out.println(entry.getKey() + "/" + entry.getValue());
}

如果您只想要String个对象:

Map<String,?> keys = sharedpreferences.getAll();

for (Map.Entry<String, ?> entry : keys.entrySet()){
    if (entry.getValue() instanceof String) {
       System.out.println(entry.getKey() + "/" + entry.getValue());
    }
}