Взаимодействие Kotlin/Java — целое число! не конвертируется автоматически в Int?JAVA

Программисты JAVA общаются здесь
Anonymous
Взаимодействие Kotlin/Java — целое число! не конвертируется автоматически в Int?

Сообщение Anonymous »

У меня есть следующий код:

Код: Выделить всё

    fun extractWorkspaceId (token : String) : Int? = extractClaim(token) { it.get("ws", Integer::class.java) }

Код: Выделить всё

extractClaim
определяется типом fun ExtractClaim (токен: String, Resolver: (Claims) -> T) : T, где Claims — это класс Java, содержащий метод T get(String, Class). При компиляции я получаю следующую ошибку:

JwtTokenService.kt:31:76 Несоответствие типа возвращаемого значения: ожидаемое «Int?», фактическое «Integer!».

Конечно, целое число должно быть автоматически преобразовано в Int, так почему Integer! не преобразуется в Int? в этом случае? Добавление как Int? в конец выражения работает нормально, но почему это не происходит автоматически?

Вернуться в «JAVA»