當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Java.lang.Package.isAnnotationPresent()用法及代碼示例



描述

這個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âˆ' 如果給定的注解類為空

示例

下麵的例子展示了 lang.Object.isAnnotationPresent() 方法的用法。

package com.tutorialspoint;

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

相關用法


注:本文由純淨天空篩選整理自 Java.lang.Package.isAnnotationPresent() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。