首页 > 解决方案 > Java类中使用Kotlin注解类

问题描述

我正在用 Kotlin 编写新功能,但有些东西已经用 Java 编写了。

我正在编写测试,Mockito(Kotlin)Mockito最终类有问题,所以我创建了:

annotation class Mockable {}

并添加到Gradle-build

apply plugin: 'kotlin-allopen'

allOpen {
    annotation('com.Mockable')
}

所以使用这个注释类我可以模拟Kotlin类。

我如何在 Java 类中使用这个注解?

标签: javaandroidkotlinannotationsmockito

解决方案


我如何在 Java 类中使用这个注解?

您不能以这种方式使用此注解,因为kotlin-allopen仅适用于 Kotlin 类。在 Java 中,只是不要将类标记为final...

就此而言,在 Kotlin 中,如果我理解正确的话,它似乎也没有用:kotlin-allopen当注释将以某种需要创建带注释类型的子类的方式进行处理时使用,因此您也需要open 编写作为注释。在这里,您可以写open 而不是 @Mockable.


推荐阅读