2016-08-25 67 views
1

我新的注解,我有自定义注解FXMLController注解的类,把这些类的工厂,以获得从注释的价值,但它始终是空〜爪哇 - 获得注释总是空

注释:

public @interface FXMLController { 

    String value() default ""; 

} 

用法:

@FXMLController(value=CommonConstants.SPLASH_SCREEN) 
public class SplashScreenController{ .......) 

所获得的价值:

Annotation annotation = controller.getAnnotation(FXMLController.class); 
FXMLController fxmlController = (FXMLController) annotation; 

enter image description here

回答

8

我猜你忘了标记您的注释为@Retention(RetentionPolicy.RUNTIME)

编辑: 其实你的注释应该是这样的:

@Target({ElementType.TYPE}) 
@Retention(RetentionPolicy.RUNTIME) 
@Documentedpublic @interface FXMLController { 
    String value() default ""; 
} 
+0

非常感谢,我想我必须阅读更多关于注释 –