在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:我是一个年轻的开发人员,所以如果答案很明显,请不要怪我,我会尝试自己学习,我所学到的一切都不会和老师或其他人在一起。...
答案 0 :(得分:3)
您需要使用..
标记注释,以便在运行时进行查询。
let base = URL(string: "https://stackoverflow.com/q/43258046/77567")!
// output: "https://stackoverflow.com/q/43258046/77567"
let rel = URL(string: "../16176911", relativeTo: base)!
// output: "../../16176911 -- ttps://stackoverflow.com/q/43258046/77567"
rel.absoluteURL
// output: "https://stackoverflow.com/q/16176911"
rel.standardized
// output: "16176911 -- ttps://stackoverflow.com/q/43258046/77567"
rel.standardized.absoluteURL
// output: "https://stackoverflow.com/q/43258046/16176911"