您的位置:首页 > 编程语言 > Java开发

Java Package.isAnnotationPresent()方法

2017-08-07 11:11 981 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐