gpt4 book ai didi

java - 当我试图知道我的方法中是否有注释时,它返回 null(即使有)

转载 作者:行者123 更新时间:2023-11-29 04:08:53 25 4
gpt4 key购买 nike

在 bukkit 项目中,为了简化命令的创建,我做了一些有用的事情,但我想尝试新事物(学习如何使用这些东西:注释!!)但是在我的代码中,当我查看我的如果我的方法上有注释“Command”,代码将返回“null”,我不明白为什么 🤔

我的代码在我的类中查找注释“Order”:

for(Method method : clazz.getMethods()) {
Command ann = method.getAnnotation(Command.class);
if(ann != null) {
// Creates the command
}
}

我的注释类:

import java.lang.annotation.ElementType;
import java.lang.annotation.Target;

@Target(ElementType.METHOD)
public @interface Command {
String command();
String name();
String desc() default "";
String[] aliases() default {};
boolean admin() default true;
}

我希望你能帮我找出我的错误所在。我想为我的英语道歉,因为我是法国人,我知道我的英语不是很好:/

PS:我是一个年轻的开发者,所以如果答案很明显,请不要怪我,我尝试自己学习,我所学的一切都不是跟老师或其他人....

最佳答案

您需要使用 @Retention(RetentionPolicy.RUNTIME) 标记您的注解,以便在运行时可供查询。

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Command {
String command();
String name();
String desc() default "";
String[] aliases() default {};
boolean admin() default true;
}

关于java - 当我试图知道我的方法中是否有注释时,它返回 null(即使有),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56400755/

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