Вы можете использовать оператор индекса с произвольными символами, даже теми, которые не являются частью карты, как в случае несуществующего ключа. Для этого есть два очевидных решения: либо выбросить исключение, либо вернуть null
. Как видно из документации, стандартная библиотека возвращает null
в operator fun get
, что переводится оператором индекса:
/**
* Returns the value corresponding to the given [key], or `null` if such a key is not present in the map.
*/
public operator fun get(key: K): V?
Альтернатива getValue
, которая описывается так:
Возвращает значение для данного [ключа] или выдает исключение, если такого ключа нет на карте.
Используется так: val v: Int = foo.getValue('A')