gpt4 book ai didi

java - 初始化 map 、列表等

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

下列哪项是正确的:

Map<K,V> map = new HashMap<>();

HashMap<K,V> map = new HashMap<>();

甚至:

List<T> list = new ArrayList<>();

ArrayList<T> list = new ArrayList();

我很好奇是否有正确的方法,或者这只是一个偏好问题。我这样想可能很愚蠢,但我只是不确定。

最佳答案

做类似事情的优点

Map map = new HashMap<>();

您的代码不依赖于 HashMap 的实现及其 API。

如果您稍后决定用 HashMap 替换 Map 接口(interface)的另一个实现(例如 EnumMap),那么您的代码中唯一的部分改变的是那一行。

Map map = new EnumMap<>();

你是否做了类似的事情

HashMap map = new HashMap<>();

然后决定从 HashMap 更改为 EnumMap,您必须:

1) 仔细检查您的代码,并将 HashMap 的每个实例更改为 EnumMap

2) 如果您依赖于 HashMap 而不是 EnumMap 中存在的功能,请完全重新设计您的代码。也就是说,如果您依赖 Map 不支持的 API,那么在不对代码进行额外修改的情况下,您不一定能轻松地从一种类型更改为另一种类型。

关于java - 初始化 map 、列表等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28654384/

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