Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 未选中的强制转换贴图<;字符串,字符串>;所有偏好_Java_Android_Casting_Gradle - Fatal编程技术网

Java 未选中的强制转换贴图<;字符串,字符串>;所有偏好

Java 未选中的强制转换贴图<;字符串,字符串>;所有偏好,java,android,casting,gradle,Java,Android,Casting,Gradle,我有一个关于未经检查的演员的渐变警告。该应用程序没有错误,但我想清理任何代码问题。我在这里看到了类似的帖子 我不清楚如何检查该类型的值 .../mayday/md/model/SMSSettings.java:56: warning: [unchecked] unchecked cast Map<String, String> allPreferences = (Map<String, String>) sharedPreferences.getAll()

我有一个关于未经检查的演员的渐变警告。该应用程序没有错误,但我想清理任何代码问题。我在这里看到了类似的帖子

我不清楚如何检查该类型的值

.../mayday/md/model/SMSSettings.java:56: warning: [unchecked] unchecked cast
        Map<String, String> allPreferences = (Map<String, String>) sharedPreferences.getAll();
                                                                                           ^
  required: Map<String,String>
  found:    Map<String,CAP#1>
  where CAP#1 is a fresh type-variable:
    CAP#1 extends Object from capture of ?
../mayday/md/model/SMSSettings.java:56:警告:[未选中]未选中强制转换
Map allPreferences=(Map)SharedReferences.getAll();
^
必需:地图
发现:地图
其中CAP#1是一个新类型变量:
CAP#1将对象从捕获扩展到?
第56行
Map allPreferences=(Map)sharedPreferences.getAll()

公共静态SMSSettings检索(上下文){
SharedReferences SharedReferences=PreferenceManager.GetDefaultSharedReferences(上下文);
Map allPreferences=(Map)SharedReferences.getAll();
列出RetrievePhoneNumber=RetrievePhoneNumber(所有首选项);
返回新的短信设置(检索到的电话号码、所有首选项.get(SMS_MESSAGE));
}

返回一个
映射
而不是
映射
,其中无界通配符
的一个简短版本。注意,
共享引用

如果您100%确定您的
SharedReferences
对象中只有字符串,则可以忽略此警告,并将
@SuppressWarnings(“未选中”)
添加到您的方法中或在您的强制转换行上方。

这是一个很好的注释。不过,它并没有回答OPs的问题。@blackbelt,谢谢你提供的信息,我不知道如何使用这些信息来解决这个问题。
public static SMSSettings retrieve(Context context) {
    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
    Map<String, String> allPreferences = (Map<String, String>) sharedPreferences.getAll();
    List<String> retrievedPhoneNumbers = retrievePhoneNumbers(allPreferences);
    return new SMSSettings(retrievedPhoneNumbers, allPreferences.get(SMS_MESSAGE));
}
 Map<String, ?> allPreferences = sharedPreferences.getAll();