PurelyImplements.<init>所在位置是kotlin.jvm.PurelyImplements.<init>,其相关用法介绍如下。

用法:

PurelyImplements(value: String)

指示 Kotlin 编译器将带注释的 Java 类视为给定 Kotlin 接口的纯实现。 "Pure" 在这里表示类的每个类型参数都成为该接口的非平台类型参数。

例子:

class MyList<T> extends AbstractList<T> { ... }

MyList<T> 中定义的方法使用 T 作为平台,即在 Kotlin 中可能执行不安全的操作:

MyList<Int>().add(null) // compiles
@PurelyImplements("kotlin.collections.MutableList")
class MyPureList<T> extends AbstractList<T> { ... }

MyPureList<T> 中定义的方法覆盖 MutableList 中的方法使用 T 作为非平台类型:

MyPureList<Int>().add(null) // Error
MyPureList<Int?>().add(null) // Ok