Почему нет ошибки компиляции при передаче класса kotlin в функцию Java, ограниченную обобщениями java? - PullRequest
0 голосов
/ 11 мая 2018

У меня проблемы с обеспечением безопасности типов при использовании kotlin с Java.Пожалуйста, посмотрите фрагменты кода ниже, показывающие установку, проблема заключается в отсутствии ошибки компиляции.

// kotlin functions

inline fun <reified T:Any> k() = T::class

// A<T> is a Java class

fun <T:Any> a(clazz:KClass<T>): A<T> {
    return A<T>(clazz.java)
}


// java interface

interface DoA<T> {
   void doThis(A<T> a);
}

// kotlin class implements java interface

class SomeDoA : DoA<String> {
    init {
        doThis(a(k<Int>())); // I'd expect a compile error here, but none
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...