gpt4 book ai didi

java - 注释处理 : how to change annotation target in Kotlin code?

转载 作者:行者123 更新时间:2023-12-04 08:24:15 24 4
gpt4 key购买 nike

很多时候,当我在 Kotlin 代码中使用来自 Java 库的注解时,我必须指定目标以指定编译代码中的哪些元素必须被注解:

data class User(
val id: String,

@get:Email
val email: String
)
而不是指定 @get:Email ,我希望能够简单地使用 @Email ,特别是如果它发生在很多地方。
问题:有没有办法提示 Kotlin 编译器在所有地方使用不同的目标,以便如果我使用 @Email它会像处理 @get:Email 一样处理它?或者有没有其他方法可以省略指定目标?如何实现?是否可以通过注释处理在编译阶段完成(如 Lombok 那样)?
即使他们不直接回答我的问题,我也会很感激任何想法。

最佳答案

你不能覆盖它。也许创建将针对 @Email 的注释注释并在尝试调用目标时提供属性 getter。
指定目标由注释目标决定。当注解的目标指定为 jvm use-targets那么你必须使用 @get:指定注解以属性的 getter 为目标。
为了简单使用@Email你必须使用 kotlin target types对于您的注释,可能是 PROPERTY .请注意,PROPERTY目标不适用于 Java。

@Retention(AnnotationRetention.RUNTIME)
@Target(AnnotationTarget.PROPERTY)
annotation class Email

关于java - 注释处理 : how to change annotation target in Kotlin code?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65347260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com