【发布时间】:2017-08-23 12:49:53
【问题描述】:
我正在清理代码,但我发现了一些让我怀疑的东西。
我有这个:
Map<String, ArrayList<?>> credentials = (LinkedHashMap<String, ArrayList<?>>) [...]
这是正确的吗?我应该重构为:
Map<String, List<?>> credentials = (LinkedHashMap<String, List<?>>) [...]
非常感谢您。
塞尔吉奥
【问题讨论】:
-
这几乎不取决于您打算用该地图的值做什么......
-
如果您想在具有不同“List”实现的多个上下文中将其作为通用接口重用,那么“List”接口是最佳选择,对于单一范围使用,您可以使用
ArrayList,这使您的代码更具体的实现。