【发布时间】:2018-05-05 07:26:23
【问题描述】:
我在泛型方面从未如此出色,但我使用了 SnakeYaml。 有没有办法让我修复这段代码
public class MyService{
private static Map<String, LinkedHashMap> myYamlMap;
public static void filter(Map<String, String>){
//myYaml map reads the YAML File using SnakeYaml
//Snake Yaml returns data in this format <String,LinkedHashMap>
Yaml yaml = new Yaml();
Object object = yaml.load(reader);
Map<String, LinkedHashMap> myYamlMap = (Map<String, LinkedHashMap>)object;
LinkedHashMap<String, LinkedHashMap> mainMap = (LinkedHashMap<String, LinkedHashMap>)myYamlMap.get("sample");
}
} 并摆脱这个编译时警告?
Multiple markers at this line
- Line breakpoint:MyService [line: 69] - filter(Map<String, String>)
- Type safety: Unchecked cast from LinkedHashMap to LinkedHashMap<String,LinkedHashMap>
- LinkedHashMap is a raw type. References to generic type LinkedHashMap<K,V> should be
parameterized
- LinkedHashMap is a raw type. References to generic type LinkedHashMap<K,V> should be
parameterized
Snakeyaml..在其构造中使用 LinkedHashMap,我想摆脱强制转换。
【问题讨论】:
-
为什么不让值有类型参数
Map<String, LinkedHashMap<String, LinkedHashMap>> -
试过同样的问题。
-
好的。最后一个 LinkedHashMap 也必须输入
-
你能分享你的代码伙伴吗?这样我就可以看
-
我的代码?我没有任何代码。我的意思是所有对
LinkedHashMap的引用都必须有适当的类型参数。
标签: java generics collections snakeyaml