Если я хочу создать новый Multimap с простыми значениями по умолчанию, мне нужно сделать что-то вроде:
private final Multimap<Key, Value> providersToClasses = Multimaps
.newListMultimap(
new HashMap<Key, Collection<Value>>(),
new Supplier<List<Value>>() {
@Override
public List<Value> get() {
return Lists.newArrayList();
}
});
потому что Java не может вывести правильные типы, если для карты поддержки используется Maps.newHashMap
. Конечно, это может быть реорганизовано в отдельный метод, но есть ли способ написать его более кратко?