- Java.lang Package classes
- Java.lang - Home
- 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 Package extras
- Java.lang - Interfaces
- Java.lang - Errors
- Java.lang - Exceptions
- Java.lang Package Useful Resources
- Java.lang - Useful Resources
- Java.lang - Discussion
Java Package isAnnotationPresent() Method
Description
The Java Package isAnnotationPresent(Class<? extends Annotation> annotationClass) method returns true if an annotation for the specified type is present on this element, else false. This method is designed primarily for convenient access to marker annotations.
Declaration
Following is the declaration for java.lang.Package.isAnnotationPresent() method
public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
Parameters
annotationClass − the Class object corresponding to the annotation type
Return Value
This method returns true if an annotation for the specified annotation type is present on this element, else false
Exception
NullPointerException − if the given annotation class is null
Example
The following example shows the usage of isAnnotationPresent() method. In this program, we've declared an annotation Demo as an interface with a method returing a string and a another method return int value. In PackageDemo class, we've applied that annotation Demo on a method example() with some values. In example() method, we've retrieved the class of the PackageDemo class using getClass() method.
Now using getMethod() example, we retrieved example method instance and then using getAnnotation() method, we've retrieved the annotation and printed its value. In the main method, this example() method is called and result is printed.
Then using getPackages() method, we retrieved all packages and iterated them to check if Demo annotation is present using isAnnotationPresent() method and results are printed.
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)); } } }
Output
Let us compile and run the above program, this will produce the following result −
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