注释的实现
@Target(AnnotationTarget.PROPERTY)
@Retention(AnnotationRetention.RUNTIME)
annotation class Returnable
虚拟数据类
data class DataClass(
val property: String
@Returnable
val annotatedProperty: String
)
Java思考过滤不起作用
this::class.memberProperties
.filter{ it.annotations.map { ann -> ann.annotationClass }.contains(Returnable::class)}
答案 0 :(得分:0)
Kotlin注释与Java注释不同。因此,与经典Java相比,使用Kotlin反射需要一些不同的方式。在这里,您可以找到一种通过Kotlin注释过滤Kotlin数据类属性的方法
DataClass("false","true")::class.members.filter {
it.findAnnotation<Returnable>() != null
}