展开全部
1、声明
以下是java.lang.Package.isAnnotationPresent()方法的声明public boolean isAnnotationPresent(Class extends Annotation> annotationClass)
2、参数
annotationClass -- 对应于注释类型的Class对象
3、返回值
如果一个注e69da5e6ba9062616964757a686964616f31333337396331解指定注释类型是存在于此元素上此方法返回true,否则返回false
4、异常
NullPointerException -- 如果给定的注释类为null
5、例子
下面的例子显示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
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