Я пытаюсь вызвать метод Java org.springframework.data.mongodb.core.query.Update#set
из кода Kotlin.Этот метод объявлен как
public Update set(String key, Object value)
Нет дополнительных аннотаций или комментариев об обнуляемости параметров.Фактически, он просто помещает value
в HashMap
, поэтому value
может быть null
.
Однако компилятор Kotlin обрабатывает тип value
как Any
(вместо ожидаемого * 1013).*) и завершается неудачно при передаче null
с
Null can not be a value of a non-null type Any
Передача значения Nullable с !!
явно вызывает KotlinNullPointerException
, приведение as Any
бросает TypeCastException
.
Что такоелогика такого вывода обнуляемости?Передача параметра null
с отражением на самом деле работает хорошо, но есть ли более естественное решение?