У меня есть список объектов с необязательным идентификатором String, и я хочу сделать из него карту. Я хочу, чтобы ключи моей карты были не обнуляемыми: что-то вроде этого:
data class Foo(
val id: String? = null
val someStuff: String? = null,
)
val foo = listOf(Foo("id1"), Foo())
val bar = foo.filterNot { it.id == null }.associateBy { it.id }
Здесь bar
тип Map<String?, Foo>
, но не Map<String, Foo>
Мой обходной путь чтобы добавить ненулевой заявленный вызов: !!
, но он не кажется чистым.
Есть ли простой и безопасный способ сделать это?