- Java.lang 包类
- Java.lang - 首页
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang 包附加内容
- Java.lang - 接口
- Java.lang - 错误
- Java.lang - 异常
- Java.lang 包有用资源
- Java.lang - 有用资源
- Java.lang - 讨论
Java 包 isAnnotationPresent() 方法
描述
Java 包 isAnnotationPresent(Class<? extends Annotation> annotationClass) 方法返回 true,如果此元素上存在指定类型的注释,否则返回 false。此方法主要用于方便地访问标记注释。
声明
以下是 java.lang.Package.isAnnotationPresent() 方法的声明
public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
参数
annotationClass − 与注释类型对应的 Class 对象
返回值
如果此元素上存在指定注释类型的注释,则此方法返回 true,否则返回 false
异常
NullPointerException − 如果给定的注释类为空
示例
以下示例演示了 isAnnotationPresent() 方法的用法。在这个程序中,我们声明了一个注释 Demo,它是一个接口,带有一个返回字符串的方法和另一个返回整数值的方法。在 PackageDemo 类中,我们在一个名为 example() 的方法上应用了该 Demo 注释,并赋予了一些值。在 example() 方法中,我们使用 getClass() 方法检索了 PackageDemo 类的类。
现在使用 getMethod() example,我们检索 example 方法实例,然后使用 getAnnotation() 方法检索注释并打印其值。在主方法中,调用此 example() 方法并打印结果。
然后,使用 getPackages() 方法检索所有包,并迭代它们以使用 isAnnotationPresent() 方法检查 Demo 注释是否存在,并打印结果。
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 Demo 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 false false false false false false false false false false false false false false false
java_lang_package.htm
广告