在声明Map时使用类或接口作为VALUE

时间:2017-08-23 12:49:53

标签: java class interface

我正在清理代码,而且我发现了让我怀疑的东西。

我有这个:

Map<String, ArrayList<?>> credentials = (LinkedHashMap<String, ArrayList<?>>) [...]

这是对的吗?我应该重构为:

Map<String, List<?>> credentials = (LinkedHashMap<String, List<?>>) [...]

非常感谢你。

塞尔吉奥

1 个答案:

答案 0 :(得分:0)

List是所有列表类型的基本接口,ArrayList和LinkedList类是List的两种常见实现。您可以保留&#34; ArrayList&#34;,这是List Interface

的特定实现
Map<String, ArrayList<?>> credentials = (LinkedHashMap<String, ArrayList<?>>) [...]