A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄泉 中级黑马   /  2014-7-23 17:17  /  1008 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.lang.annotation.*;


  2. @NewAnnotation({1,2,3,4,5})
  3. class AnnotationTest
  4. {
  5.        
  6.         //@NewAnnotation(value = "你不好" /*, lamp = EnumTest.L*/ , annotationAttr = @EleAnnotation("李四"))
  7.         public static void main(String[] args)
  8.         {
  9.                 if(AnnotationTest.class.isAnnotationPresent(NewAnnotation.class))
  10.                 {
  11.                         NewAnnotation annotation = (NewAnnotation)AnnotationTest.class.getAnnotation(NewAnnotation.class);
  12.                         //System.out.println(annotation.value());
  13.                         //System.out.println(annotation.arrayAttr().length);
  14.                         //System.out.println(annotation.printClass());
  15.                 }
  16.         }
  17. }

  18. @Retention(RetentionPolicy.RUNTIME)
  19. @Target({ElementType.TYPE , ElementType.METHOD })
  20. @interface NewAnnotation
  21. {
  22.         //String value() default "你好";
  23.         String[] arrayAttr();
  24.         //EnumTest lamp() default EnumTest.H;
  25.         //EleAnnotation annotationAttr() ;
  26.         //Class printClass() default String.class;
  27. }

  28. @interface EleAnnotation
  29. {
  30.         String value();
  31. }

复制代码


不是只有一个注解的时候可以省略方法吗? 为什么不可以。。。 在尝试的时候,只有value()这个方法才能省略!

2 个回复

正序浏览
renne a   
回复 使用道具 举报
数组类型发错了!是int[]类型的数组。错误提示还是一样的、、、
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马