Как Котлин выводит обнуляемость параметра метода Java? - PullRequest
3 голосов
/ 19 сентября 2019

Я пытаюсь вызвать метод 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 с отражением на самом деле работает хорошо, но есть ли более естественное решение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...