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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 剑魂 中级黑马   /  2013-12-30 17:05  /  1036 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public class AnnotationTest {

  2.         /**
  3.          * @param args
  4.          */
  5.         @ItAnnotation(num = 6)
  6.         public static void main(String[] args) {
  7.                 // TODO Auto-generated method stub
  8.                 System.out.println(AnnotationTest.class.isAnnotationPresent(ItAnnotation.class));
  9.                 if(AnnotationTest.class.isAnnotationPresent(ItAnnotation.class)){
  10.                         ItAnnotation ano = (ItAnnotation)AnnotationTest.class.getAnnotation(ItAnnotation.class);
  11.                         System.out.println(ano.num());
  12.                 }
  13.         }
  14.        

  15. }
复制代码
  1. import java.lang.annotation.Retention;
  2. import java.lang.annotation.RetentionPolicy;

  3. @Retention(RetentionPolicy.RUNTIME)
  4. public @interface ItAnnotation {
  5.         int num();
  6. }
复制代码

打印false,,求解,谢谢了

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

1 个回复

倒序浏览
你的代码
  1. System.out.println(AnnotationTest.class.isAnnotationPresent(ItAnnotation.class));
复制代码

打印是AnnotationTest 这个类上是否有ItAnnotation注解,需将代码改为判断main方法是否加注解
代码如下

  1. //@ItAnnotation(num = 6)
  2. public class AnnotationTest {

  3.         /**
  4.          * @param args
  5.          * @throws NoSuchMethodException
  6.          * @throws SecurityException
  7.          */
  8.         @ItAnnotation(num = 6)
  9.         public static void main(String[] args) throws SecurityException, NoSuchMethodException {
  10.                 System.out.println(AnnotationTest.class.getMethod("main", String[].class).isAnnotationPresent(ItAnnotation.class));
  11.         if(AnnotationTest.class.getMethod("main", String[].class).isAnnotationPresent(ItAnnotation.class)){
  12.                 ItAnnotation ano = (ItAnnotation)(AnnotationTest.class.getMethod("main", String[].class).getAnnotation(ItAnnotation.class));
  13.                 System.out.println(ano.num());
  14.         }
  15.         }

  16. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马