Я хочу использовать MutableMap
с настройками по умолчанию:
val myMap = mutableMapOf<String, Set<String>>().withDefault { mutableSetOf() }
но я не могу использовать метод getOrImplicitDefault
, потому что withDefault
возвращает тип MutableMap<String, Set<String>>
. Более того, я не могу использовать интерфейс MutableMapWithDefault
, потому что это частный интерфейс.
Я не могу использовать метод get
либо потому, что он возвращает тип с нулевым значением. Это нормально, потому что это метод на интерфейсе MutableMap
(более того, он не вызывает обратный вызов defaultValue
для получения значения по умолчанию).
Похоже, эта функциональность неправильно реализована в Котлине, или я неправильно ее использую. Итак, как правильно использовать обертки withDefault
?