【发布时间】:2011-06-17 12:40:21
【问题描述】:
我的代码中有一个Map<String, List<String>>,如果映射的#get() 方法返回一个空列表而不是null,我会避免潜在的空指针。 java API中有这样的东西吗?我应该扩展HashMap吗?
【问题讨论】:
-
使用装饰器模式可能比扩展 HashMap...
-
我不怀疑你,但为什么会更好?
-
@jk:你为什么要限制自己总是是一个HashMap?如果有时你想要一个 LinkedHashMap 怎么办?还是 ConcurrentHashMap?还是树状图?基本上,更喜欢组合而不是继承:)
-
@jk:我强烈建议使用 @Stephen C 建议的 Guava
Multimap。我认为这是您真正想要的,而不是返回非空值的通用Map不包含键时的值。