0

在将 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
    }
}
4

0 回答 0