Java Package.isAnnotationPresent()方法

Java Package.isAnnotationPresent()方法

Java Package.isAnnotationPresent()方法用法实例教程。方法返回true,如果指定类型的注释存在于此元素上, 否则返回false。这种方法的设计主要是为了方便访问标记注释

描述
java.lang.Package.isAnnotationPresent(Class<? extends Annotation> annotationClass) 方法返回true,如果指定类型的注释存在于此元素上,

否则返回false。这种方法的设计主要是为了方便访问标记注释

声明
以下是声明java.lang.Package.isAnnotationPresent()方法

public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
参数
annotationClass --对应于注释类型的Class对象


返回值
这种方法指定注释类型的注释存在于此元素上,则返回true,否则返回false


异常
NullPointerException -- 如果给定的注释类是null


实例
下面的例子说明了如何使用lang.Object.isAnnotationPresent()方法。


package com.yiibai;


import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.Method;


// declare a new annotation
@Retention(RetentionPolicy.RUNTIME)
@interface Demo {
   
   String str();
   
   int val();
}


public class PackageDemo {


   // set values for the annotation
   @Demo(str = "Demo Annotation", val = 100)
   // a method to call in the main
   public static void example() {
      PackageDemo ob = new PackageDemo();
      
      try {
         Class c = ob.getClass();


         // get the method example
         Method m = c.getMethod("example");


         // get the annotation for class Demo
         Demo annotation = m.getAnnotation(Demo.class);


         // print the annotation
         System.out.println(annotation.str() + " " + annotation.val());
      } catch (NoSuchMethodException exc) {
         exc.printStackTrace();
      }
   }
   
   public static void main(String args[]) {
      example();
      
      Package[] pack = Package.getPackages();
      // check if annotation hello exists
      for (int i = 0; i < pack.length; i++) {
         System.out.println("" + pack[i].isAnnotationPresent(Demo.class));
      }
   }
}
让我们来编译和运行上面的程序,这将产生以下结果:


Demo Annotation 100
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值