Взаимодействие 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? в конец выражения работает нормально, но почему это не происходит автоматически?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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