gpt4 book ai didi

annotations - 如何在 Kotlin 中列出字段注释?

转载 作者:行者123 更新时间:2023-12-01 07:36:12 26 4
gpt4 key购买 nike

我有注释

public @interface Field {
String value();
}

和java类,由它注释:
public class Animal {
@Field("name")
private String name;
}

我尝试通过下一个代码列出所有字段的注释:
for(field in clazz.declaredFields){
for(annotation in field.annotations){
when(annotation){
is Field -> {
//do something
}
}
}
}

clazz在哪里 Class<T>
但是 field.annotations是空的。

如何正确列出注释?

最佳答案

默认情况下,Java 注释不会在运行时保留,因此您需要指定以下内容:

import java.lang.annotation.Retention;

import static java.lang.annotation.RetentionPolicy.RUNTIME;

@Retention(RUNTIME)
public @interface Field {
String value();
}

Kotlin annotations默认保留:

annotation class Field(val value: String)

关于annotations - 如何在 Kotlin 中列出字段注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35927036/

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