具有以下课程:
data class TestMsg(
@Parse(";")
val someArray: Array<String>
)
并尝试使用
获取注释TestMsg::class.primaryConstructor!!.parameters.forEach{
println(it.findAnnotation<Parse>())
}
没有找到注释。我必须将参数的注释前面移动才能使其起作用
data class TestMsg(
@Parse(";") val someArray: Array<String>
)
是喷气脑解析错误还是正常现象?
编辑
您可以在此处找到注释:
@Target(AnnotationTarget.FIELD, AnnotationTarget.PROPERTY, AnnotationTarget.TYPE_PARAMETER)
@Retention(AnnotationRetention.RUNTIME)
annotation class Parse(
val delimiter: String
)
答案 0 :(得分:2)
将AnnotationTarget.PROPERTY更改为AnnotationTarget.VALUE_PARAMETER
@Target(AnnotationTarget.FIELD, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.TYPE_PARAMETER)
@Retention(AnnotationRetention.RUNTIME)
annotation class Parse(
val delimiter: String
)