![java package tutorial](/java/lang/images/java.jpg)
- 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 getAnnotations() Method
Description
The Java Package getAnnotations() method returns all annotations present on this element. (Returns an array of length zero if this element has no annotations.) The caller of this method is free to modify the returned array; it will have no effect on the arrays returned to other callers.
Declaration
Following is the declaration for java.lang.Package.getAnnotations() method
public Annotation[] getAnnotations()
Parameters
NA
Return Value
This method returns all annotations present on this element
Exception
NA
Getting All Annotations Example
The following example shows the usage of getAnnotations() 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 getAnnotations() method, we've retrieved array of annotations and printed them. In the main method, this example() method is called and result is printed.
package com.tutorialspoint; 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.getAnnotations(); // 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(); } }
Output
Let us compile and run the above program, this will produce the following result −
@com.tutorialspoint.Demo(str=Demo Annotation, val=100)
Getting Empty Array of Annotations Example
The following example shows the usage of getAnnotations() 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. We've created another method example1() where no annotation is present.
Now using getMethod() example, we retrieved example1 method instance and then using getAnnotations() method, we've retrieved array of annotations and printed them. As no annotation is applied, array will be empty. In the main method, this example() method is called and result is printed.
package com.tutorialspoint; 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("example1"); // get the annotations Annotation[] annotation = m.getAnnotations(); if(annotation.length != 0) { // print the annotation for (int i = 0; i < annotation.length; i++) { System.out.println(annotation[i]); } }else { System.out.println("No annotations present."); } } catch (NoSuchMethodException exc) { exc.printStackTrace(); } } public static void main(String args[]) { example(); } public static void example1() { // method with no annotations } }
Output
Let us compile and run the above program, this will produce the following result −
No annotations present.