小编use*_*032的帖子

将HashMap与子类一起使用

 private HashMap<String, SuperClass> mapOfRoles = new HashMap();
 public void X()
  {
        mapOfRoles.put(String, SubClassA);
        mapOfRoles.put(String, SubClassB);
  }
Run Code Online (Sandbox Code Playgroud)

错误:没有为put(String,Wolf)找到合适的方法playerRolesMap.put(listOfPlayers.get(0),new Wolf(listOfPlayers.get(0))); 方法HashMap.put(String,Role)不适用(实际参数Wolf无法通过方法调用转换转换为Role)

Wolf是Role的子类

我正在尝试编写一个程序,我需要访问写入子类的方法,但是这不会编译,因为子类不能转换回超类,编译器说:实际参数subclassA不能转换为超类通过方法调用转换)

目前我看不到另一种方法来实现我的代码,以便能够动态检索对象.大多数情况下,要为子类调用的方法都包含在超类中,但是每个子类都有一些只与它相关的方法.

是否存在可以纠正的设计缺陷.

java inheritance hashmap

0
推荐指数
1
解决办法
2956
查看次数

标签 统计

hashmap ×1

inheritance ×1

java ×1