记录原因
isAnnotationPresent() 返回False
解决方案
自定义注解时,如果想通过反射获取注解信息必须加上
@Retention(RetentionPolicy.RUNTIME)
声明该注解的存活策略可以保留到运行时
扩展
@Retention
有3个值
@Retention(RetentionPolicy.SOURCE)
仅仅停留在源码,编译时去除
@Retention(RetentionPolicy.RUNTIME)
保留到运行时,通过反射可以获取注解信息 只有保留到运行时,调用isAnnotationPresent()才返回True
@Retention(RetentionPolicy.CLASS)
保留到编译后的字节码,运行时无法获得注解信息