java.lang.Package.getDeclaredAnnotations()方法實例
java.lang.Package.getDeclaredAnnotations() 方法返回直接存在於此元素上的所有注釋。此接口和其他方法,這種方法忽略繼承的注釋。 (返回長度為零的數組,如果冇有注釋直接存在於此元素上。)該方法的調用者可以隨意修改返回的數組;這對其他調用者返回的數組產生任何影響。
聲明
以下是java.lang.Package.getDeclaredAnnotations()方法的聲明
public Annotation[] getDeclaredAnnotations()
參數
-
NA
返回值
此方法返回直接存在於此元素上的所有注釋
異常
-
NA
例子
下麵的例子顯示lang.Object.getDeclaredAnnotations()方法的使用。
package com.yiibai; import java.lang.annotation.Annotation; 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 annotations Annotation[] annotation = m.getDeclaredAnnotations(); // print the annotation for (int i = 0; i < annotation.length; i++) { System.out.println(annotation[i]); } } catch (NoSuchMethodException exc) { exc.printStackTrace(); } } public static void main(String args[]) { example(); } }
讓我們來編譯和運行上麵的程序,這將產生以下結果:
@com.yiibai.Demo(str=Demo Annotation, val=100)