gpt4 book ai didi

java - 如何在Java中获取字段的注解

转载 作者:行者123 更新时间:2023-11-29 03:32:05 24 4
gpt4 key购买 nike

我有自己的注解

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Template {
Class target();
}

这个注解用在一个简单的 POJO 中:

public class Something {   
@JsonSerialize(using = TemplateSerializer.class)
@Template(target = PersonRepresentation.class)
private TemplateFoo address = new TemplateFoo() {};
}

我有 Jackson seriliazer TemplateSerializer,它在将对象序列化为 JSON 时获取“地址”。

我想知道如何在给定“地址”实例的情况下获得@Template 注释?我想获取它的“目标”字段,然后检查 PersonRepresentation.class

最佳答案

您需要先访问地址 字段

Field address = Something.class.getField("address");
Template annotation = address.getAnnotation(Template.class);

然后就可以得到注解的target字段

Class clazz = annotation.target();

正如 JB Nizet 评论的那样,注释中提供的信息与类相关,而不是与实例相关。

关于java - 如何在Java中获取字段的注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17664103/

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