gpt4 book ai didi

java - 具有不同可能值类型的 HashMap

转载 作者:行者123 更新时间:2023-11-30 06:06:35 25 4
gpt4 key购买 nike

想象一下这样的情况:

class AbstractClass{void sharedMethod()}
class ClassOne extends AbstractClass{void sharedMethod(); void specificMethod()}
class ClassTwo extends AbstractClass{void sharedMethod(); void specificMethod2()}

我想在 map 中存储如下内容:

HashMap<String, List<SOMETHING_I_DON'T_KNOW_IN_ADVANCE>> hm = new HashMap<>();
hm.put("blabla", List<ClassOne>);
hm.put("blublu", List<ClassTwo>);

我知道我可以将 AbstractClass 作为我的 map 的值类型,但我想访问我的特定方法。我已经做了一些研究,试图在获得对象时动态转换它们,但我没有找到任何令人满意的东西。提前致谢

最佳答案

在你的 AbstractClass 中创建“abstract void SpecificMethod()”,然后在你的具体类中创建 SpecificMethod() 的具体版本对你有用吗?

这样你就不需要担心是调用 SpecificMethodOne() 还是 SpecificMethodTwo() ...AbstractClass 对象已经知道它应该使用哪个版本的 SpecificMethod()。

关于java - 具有不同可能值类型的 HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43726889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com