gpt4 book ai didi

java - 接口(interface)是否应该用于类型参数

转载 作者:行者123 更新时间:2023-12-02 06:48:53 24 4
gpt4 key购买 nike

我读过Effective Java,它强调尽可能使用接口(interface)作为返回类型。扩展论证我想知道以下哪种方法是首选/被认为是一个好的做法。

选项 1:

 Map<Integer, Set<Integer>> map = new HashMap<Integer, Set<Integer>>(); // Interface 'Set' declared in type
for (int v = 0; v < graph.getNumberOfVertices(); v++) {
map.put(v, new HashSet<Integer>());
}

选项 2:

Map<Integer, Set<Integer>> map = new HashMap<Integer, HashSet<Integer>>(); // Class 'HashSet' declared in type.
for (int v = 0; v < graph.getNumberOfVertices(); v++) {
map.put(v, new HashSet<Integer>());
}

最佳答案

绝对应该使用选项 1。选项 2 无法编译,因为 Map<Integer, HashSet<Integer>>不是Map<Integer, Set<Integer>> .

关于java - 接口(interface)是否应该用于类型参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18281583/

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