gpt4 book ai didi

java - Map myMap = new HashMap 和 HashMap myMap = new HashMap 有什么区别?

转载 作者:行者123 更新时间:2023-12-02 02:38:25 27 4
gpt4 key购买 nike

刚接触 Java,当我想初始化 HashMap 时。我可以找到这两个解决方案:

Map<String, String> myMap = HashMap<String, String>;
HashMap<String, String> myMap = HashMap<String, String>;

我知道Map是一个接口(interface),HashMap实现了它。但为什么我们这里有两个?他们每个人都有什么好处?

最佳答案

对象之间没有区别;在这两种情况下你都有一个 HashMap。对象的接口(interface)有所不同。在第一种情况下,接口(interface)是 HashMap,而在第二种情况下,接口(interface)是 Map。但底层对象是相同的。

使用 Map 的优点是,您可以将底层对象更改为不同类型的 Map,而不会破坏与使用它的任何代码之间的约定。如果你将它声明为HashMap,如果你想改变底层实现,你就必须改变你的契约。

来自:https://stackoverflow.com/users/157247/t-j-crowder在:What is the difference between the HashMap and Map objects in Java?

关于java - Map myMap = new HashMap 和 HashMap myMap = new HashMap 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57193375/

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