gpt4 book ai didi

java - 当我从map和hashmap创建对象时有什么区别

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

Possible Duplicate:
Java - HashMap vs Map objects

有什么不同

private Map<String, Integer> drawableMap = new HashMap<String, Integer>();

private HashMap<String, Integer> drawableMap = new HashMap<String, Integer>();

最佳答案

赋值表达式左侧的变量类型与对象创建无关;因此,在这两种情况下,您都将创建完全相同的对象。由于在 Java 中只能将对对象的引用存储到变量中,因此该变量的类型限制了该变量可以引用的对象的类型。在第一种情况下,它可以引用任何实现Map的对象;在第二个中,只有 HashMap 对象是可接受的。

另一个结果是,在第一种情况下,您只能调用在 Map 接口(interface)中声明的 HashMap 方法,而在第二种情况下,您可以调用任何特定于 HashMap 实现的其他方法。

在大多数现实情况下,您会更喜欢第一种情况,因为您几乎从不需要特定于实现的方法。同样的规则也适用于完整的集合框架。

关于java - 当我从map和hashmap创建对象时有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14002264/

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