java map class_Java:声明一个包含两个相关泛型类型的Map(Map,Class ?extends ClassB )...
另一種方法是提供自己的Map實現.如果擴展現有實現并使用新類型,則不需要太多代碼:
public class CompatibleHashMap extends HashMap, ClassB> {
}
現在,一個CompatibleHashMap< String>只允許你把ClassA< String>作為鍵和ClassB< String>作為價值觀.
編輯:
正如您在評論中提到的那樣,這樣您就可以將自己與Map實現聯系起來.您可以通過執行以下操作來解決此問題:
public class CompatibleMap implements Map, ClassB> {
private Map, ClassB> map;
public CompatibleMap(Map, ClassB> map) {
this.map = map;
}
@Override
public Set> keySet() {
return map.keySet();
}
// ... implement all other Map methods by calling the method on map.
}
然后你可以實例化它
CompatibleMap map = new CompatibleMap<>(new HashMap, ClassB>());
這樣,您不依賴于特定的Map實現,如果映射的泛型類型ClassA和ClassB不相同,編譯器將拋出錯誤.
總結
以上是生活随笔為你收集整理的java map class_Java:声明一个包含两个相关泛型类型的Map(Map,Class ?extends ClassB )...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux下延时1ms用什么函数,Lin
- 下一篇: java http 下载文件_JAVA通