Возвращение ImmutableMap

У меня есть метод, возвращающий Map. Сначала я бы вернул HashMap, созданный методом, но подумал, что было бы лучше вернуть ImmutableMap. К сожалению, следующий оператор отказывается работать в eclipse:

HashMap<File, File> map = new HashMap<File, File>();
map.put(...);
.
.
.
return ImmutableMap.builder ().putAll (map).build ();

Он продолжает говорить, что я возвращаю несовместимый оператор, Map .

Сначала я пытался использовать:

return ImmutableMap<File, File>.builder ().putAll (map).build ();

, но это явно не сработало. Как мне лучше всего это исправить? Должен ли я сначала сохранить его где-нибудь вроде

ImmutableMap<File, File> m = ImmutableMap.builder ().putAll (map).build ();

или есть более элегантное решение?

16
задан Bozho 7 August 2011 в 15:32
поделиться