Java.lang.Package class in Java

15 Jul, 2017
Java 2 added a class called Package that encapsulates version data associated with a package. Package version information is becoming more important because of the proliferation of packages and because a java program may need to know what version of a package is available.This versioning information is retrieved and made available by the ClassLoader instance that loaded the class(es). Typically, it is stored in the manifest that is distributed with the classes. It extends class Object and implements AnnotatedElement.
Methods:
getAnnotation(Class annotationClass): Returns this element’s annotation for the specified type if such an annotation is present, else null.Syntax: public  A getAnnotation(Class annotationClass)
Returns: this element's annotation for the specified 
annotation type if present on this element, else null.
Exception: NullPointerException - if the given annotation class is null.
// Java code illustrating getAnnotation() method import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.reflect.Method;  // declare a annotation type@Retention(RetentionPolicy.RUNTIME)@interface Demo {   String str();   int val();}  public class PackageDemo {     // setting values for the annotation   @Demo(str = " Gfg Demo Annotation", val = 100)        // a method to call in the main   public static void gfg() throws NoSuchMethodException    {      PackageDemo ob = new PackageDemo();                   Class c = ob.getClass();           // get the method example         Method m = c.getMethod("gfg");           // get the annotation for class Demo         Demo annotation = m.getAnnotation(Demo.class);           // checking the annotation         System.out.println(annotation.str() + " " + annotation.val());    }         public static void main(String args[]) throws Exception   {      gfg();   }}Output:Gfg Demo Annotation 100
Annotation[] getAnnotations(): 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.Syntax: public Annotation[] getDeclaredAnnotations().
Returns: All annotations directly present on this element.
Exception: NA.
// Java code illustrating getAnnotation() methodimport java.lang.annotation.Annotation;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.reflect.Method;        // declare a annotation type@Retention(RetentionPolicy.RUNTIME)@interface Demo {   String str();   int val();}  public class PackageDemo {     // setting values for the annotation   @Demo(str = " Gfg Demo Annotation", val = 100)        // a method to call in the main   public static void gfg() throws NoSuchMethodException    {      PackageDemo ob = new PackageDemo();                   Class c = ob.getClass();           // get the method example         Method m = c.getMethod("gfg");           // get the annotation for class Demo         Demo annotation = m.getAnnotation(Demo.class);           // checking the annotation         System.out.println(annotation.str() + " " + annotation.val());         Annotation[] gfg_ann = m.getAnnotations();                    for(int i = 0; i < gfg_ann.length; i++)         {             System.out.println(gfg_ann[i]);         }    }         public static void main(String args[]) throws Exception   {      gfg();   }}Output:Gfg Demo Annotation 100
@Demo(str= Gfg Demo Annotation, val=100)
Annotation[] getDeclaredAnnotations(): Returns all annotations that are directly present on this element. Unlike the other methods in this interface, this method ignores inherited annotations. (Returns an array of length zero if no annotations are directly present on this element.) The caller of this method is free to modify the returned array; it will have no effect on the arrays returned to other callers.Syntax: public Annotation[] getDeclaredAnnotations().
Returns: All annotations directly present on this element.
Exception: NA.
// java code illustrating getDeclaredAnnotation() methodimport java.lang.annotation.Annotation;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.reflect.Method;  // declare a annotation type@Retention(RetentionPolicy.RUNTIME)@interface Demo {   String str();   int val();}  public class PackageDemo {     // setting values for the annotation   @Demo(str = " Gfg Demo Annotation", val = 100)        // a method to call in the main   public static void gfg() throws NoSuchMethodException    {      PackageDemo ob = new PackageDemo();                   Class c = ob.getClass();           // get the method example         Method m = c.getMethod("gfg");           // get the annotation for class Demo         Demo annotation = m.getAnnotation(Demo.class);           // checking the annotation         System.out.println(annotation.str() + " " + annotation.val());         Annotation[] gfg_ann = m.getDeclaredAnnotations();                    for(int i = 0; i < gfg_ann.length; i++)         {             System.out.println(gfg_ann[i]);         }    }         public static void main(String args[]) throws Exception   {      gfg();   }}Output: Gfg Demo Annotation 100
@Demo(str= Gfg Demo Annotation, val=100)
String getImplementationTitle(): Return the title of this package.Syntax: public String getImplementationTitle()
Returns: the title of the implementation, null is returned if it is not known.
Exception: NA
String getImplementationVersion(): Return the version of this implementation. It consists of any string assigned by the vendor of this implementation and does not have any particular syntax specified or expected by the Java runtime. It may be compared for equality with other package version strings used for this implementation by this vendor for this package.Syntax: public String getImplementationVersion()
Returns: the version of the implementation, null is returned if it is not known.
Exception: NA
String getImplementationVendor(): Returns the name of the organization, vendor or company that provided this implementation.Syntax: public String getImplementationVendor().
Returns: the vendor that implemented this package.
Exception: NA.
String getName(): Return the name of this package.Syntax: public String getName()
Returns: The fully-qualified name of this package as defined
 in section 6.5.3 of The JavaTM Language Specification, for example, java.lang.
Exception: NA
// Java code illustrating getName(), getImplementationTitle()// and getImplementationVendor() and getImplementationVersion()// methodsclass PackageDemo{    public static void main(String arg[])    {        Package pkgs[];        pkgs = Package.getPackages();                  for(int i=0; i<1; i++)        {            //  name of the package            System.out.println(pkgs[i].getName());                          // checking title of this implementation            System.out.println(pkgs[i].getImplementationTitle());                          // checking the vendor            System.out.println(pkgs[i].getImplementationVendor());                          // version of this implementation            System.out.println(pkgs[i].getImplementationVersion());                                  }    }}Output:sun.reflect
Java Runtime Environment
Oracle Corporation
1.8.0_121
static Package getPackage(String name): Find a package by name in the callers ClassLoader instance. The callers ClassLoader instance is used to find the package instance corresponding to the named class. If the callers ClassLoader instance is null then the set of packages loaded by the system ClassLoader instance is searched to find the named package.Syntax: public static Package getPackage(String name)
Returns: the package of the requested name. It may 
be null if no package information is available from the archive or 
codebase.
Exception: NA
static Package[] getPackages(): Get all the packages currently known for the caller’s ClassLoader instance. Those packages correspond to classes loaded via or accessible by name to that ClassLoader instance. If the caller’s ClassLoader instance is the bootstrap ClassLoader instance, which may be represented by null in some implementations, only packages corresponding to classes loaded by the bootstrap ClassLoader instance will be returned.Syntax: public static Package[] getPackages()
Returns: a new array of packages known to the callers 
ClassLoader instance. An zero length array is returned if none are known.
Exception: NA
// Java code illustrating getPackages() methodclass PackageDemo{    public static void main(String arg[])    {        Package pkgs[];        pkgs = Package.getPackages();                  Package pkg = Package.getPackage("java.lang");                  for(int i=0; i<1; i++)        {        System.out.println(pkg.getName());        System.out.println(pkgs[i].getName());        }    }}Output:java.lang
sun.reflect
String getSpecificationTitle(): Return the title of the specification that this package implements.Syntax: public String getSpecificationTitle()
Returns: the specification title, null is returned 
if it is not known.
exception: NA.
String getSpecificationVersion(): Returns the version number of the specification that this package implements. This version string must be a sequence of nonnegative decimal integers separated by “.”‘s and may have leading zeros. When version strings are compared the most significant numbers are compared.Syntax: public String getSpecificationVersion().
Returns: the specification version, null is returned 
if it is not known.
Exception: NA.
String getSpecificationVendor(): Return the name of the organization, vendor, or company that owns and maintains the specification of the classes that implement this package.Syntax: public String getSpecificationVendor()
Returns: the specification vendor, null is returned
 if it is not known.
Exception: NA.
int hashCode(): Return the hash code computed from the package name.Syntax: Return the hash code computed from the package name.
Exception: NA
Returns: the hash code.
// Java code illustrating hashCode(), getSpecificationTitle()// getSpecificationVendor() and getSpecificationVersion()class PackageDemo{    public static void main(String arg[])    {        Package pkgs[];        pkgs = Package.getPackages();                  for(int i=0; i<1; i++)        {            //  name of the package            System.out.println(pkgs[i].hashCode());                          // checking title             System.out.println(pkgs[i].getSpecificationTitle());                          // checking the vendor            System.out.println(pkgs[i].getSpecificationVendor());                          // checking version            System.out.println(pkgs[i].getSpecificationVersion());                                  }    }}Output:685414683
Java Platform API Specification
Oracle Corporation
1.8
boolean isCompatibleWith(String desired): Compare this package’s specification version with a desired version. It returns true if this packages specification version number is greater than or equal to the desired version number.Syntax: public boolean isCompatibleWith(String desired).
Returns: true if this package's version number is 
greater than or equal to the desired version number
Exception: 
NumberFormatException - if the desired or current version is not 
of the correct dotted form.
boolean isSealed(): Returns true if this package is sealed.Syntax: public boolean isSealed()
Returns: true if the package is sealed, false otherwise.
Exception: NA
boolean isSealed(URL url): Returns true if this package is sealed with respect to the specified code source url.Syntax: public boolean isSealed(URL url)
Returns: true if this package is sealed with respect to url
Exception: NA
String toString(): Returns the string representation of this Package. Its value is the string “package ” and the package name. If the package title is defined it is appended. If the package version is defined it is appended.Syntax: public String toString()
Returns: the string representation of the package.
Exception: NA
// java code illustrating isCompatibleWith(), toString(),// isSealed methods  import java.net.MalformedURLException;import java.net.URL;  class PackageDemo{    public static void main(String arg[]) throws MalformedURLException    {        Package pkg = Package.getPackage("java.lang");                  // checking if pkg is compatible with 1.0        System.out.println(pkg.isCompatibleWith("1.0"));                  // checking if packet is sealed        System.out.println(pkg.isSealed());                  URL url = new URL("https://www.youtube.com/");                  System.out.println(pkg.isSealed(url));                  // string equivalent of package        System.out.println(pkg.toString());              }}Output:true
false
false
package java.lang, Java Platform API Specification, version 1.8

getAnnotation(Class annotationClass): Returns this element’s annotation for the specified type if such an annotation is present, else null.Syntax: public  A getAnnotation(Class annotationClass)
Returns: this element's annotation for the specified 
annotation type if present on this element, else null.
Exception: NullPointerException - if the given annotation class is null.
// Java code illustrating getAnnotation() method import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.reflect.Method;  // declare a annotation type@Retention(RetentionPolicy.RUNTIME)@interface Demo {   String str();   int val();}  public class PackageDemo {     // setting values for the annotation   @Demo(str = " Gfg Demo Annotation", val = 100)        // a method to call in the main   public static void gfg() throws NoSuchMethodException    {      PackageDemo ob = new PackageDemo();                   Class c = ob.getClass();           // get the method example         Method m = c.getMethod("gfg");           // get the annotation for class Demo         Demo annotation = m.getAnnotation(Demo.class);           // checking the annotation         System.out.println(annotation.str() + " " + annotation.val());    }         public static void main(String args[]) throws Exception   {      gfg();   }}Output:Gfg Demo Annotation 100

Syntax: public  A getAnnotation(Class annotationClass)
Returns: this element's annotation for the specified 
annotation type if present on this element, else null.
Exception: NullPointerException - if the given annotation class is null.

// Java code illustrating getAnnotation() method import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.reflect.Method;  // declare a annotation type@Retention(RetentionPolicy.RUNTIME)@interface Demo {   String str();   int val();}  public class PackageDemo {     // setting values for the annotation   @Demo(str = " Gfg Demo Annotation", val = 100)        // a method to call in the main   public static void gfg() throws NoSuchMethodException    {      PackageDemo ob = new PackageDemo();                   Class c = ob.getClass();           // get the method example         Method m = c.getMethod("gfg");           // get the annotation for class Demo         Demo annotation = m.getAnnotation(Demo.class);           // checking the annotation         System.out.println(annotation.str() + " " + annotation.val());    }         public static void main(String args[]) throws Exception   {      gfg();   }}
Output:
Gfg Demo Annotation 100

Annotation[] getAnnotations(): 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.Syntax: public Annotation[] getDeclaredAnnotations().
Returns: All annotations directly present on this element.
Exception: NA.
// Java code illustrating getAnnotation() methodimport java.lang.annotation.Annotation;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.reflect.Method;        // declare a annotation type@Retention(RetentionPolicy.RUNTIME)@interface Demo {   String str();   int val();}  public class PackageDemo {     // setting values for the annotation   @Demo(str = " Gfg Demo Annotation", val = 100)        // a method to call in the main   public static void gfg() throws NoSuchMethodException    {      PackageDemo ob = new PackageDemo();                   Class c = ob.getClass();           // get the method example         Method m = c.getMethod("gfg");           // get the annotation for class Demo         Demo annotation = m.getAnnotation(Demo.class);           // checking the annotation         System.out.println(annotation.str() + " " + annotation.val());         Annotation[] gfg_ann = m.getAnnotations();                    for(int i = 0; i < gfg_ann.length; i++)         {             System.out.println(gfg_ann[i]);         }    }         public static void main(String args[]) throws Exception   {      gfg();   }}Output:Gfg Demo Annotation 100
@Demo(str= Gfg Demo Annotation, val=100)

Syntax: public Annotation[] getDeclaredAnnotations().
Returns: All annotations directly present on this element.
Exception: NA.

// Java code illustrating getAnnotation() methodimport java.lang.annotation.Annotation;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.reflect.Method;        // declare a annotation type@Retention(RetentionPolicy.RUNTIME)@interface Demo {   String str();   int val();}  public class PackageDemo {     // setting values for the annotation   @Demo(str = " Gfg Demo Annotation", val = 100)        // a method to call in the main   public static void gfg() throws NoSuchMethodException    {      PackageDemo ob = new PackageDemo();                   Class c = ob.getClass();           // get the method example         Method m = c.getMethod("gfg");           // get the annotation for class Demo         Demo annotation = m.getAnnotation(Demo.class);           // checking the annotation         System.out.println(annotation.str() + " " + annotation.val());         Annotation[] gfg_ann = m.getAnnotations();                    for(int i = 0; i < gfg_ann.length; i++)         {             System.out.println(gfg_ann[i]);         }    }         public static void main(String args[]) throws Exception   {      gfg();   }}
Output:
Gfg Demo Annotation 100
@Demo(str= Gfg Demo Annotation, val=100)

Annotation[] getDeclaredAnnotations(): Returns all annotations that are directly present on this element. Unlike the other methods in this interface, this method ignores inherited annotations. (Returns an array of length zero if no annotations are directly present on this element.) The caller of this method is free to modify the returned array; it will have no effect on the arrays returned to other callers.Syntax: public Annotation[] getDeclaredAnnotations().
Returns: All annotations directly present on this element.
Exception: NA.
// java code illustrating getDeclaredAnnotation() methodimport java.lang.annotation.Annotation;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.reflect.Method;  // declare a annotation type@Retention(RetentionPolicy.RUNTIME)@interface Demo {   String str();   int val();}  public class PackageDemo {     // setting values for the annotation   @Demo(str = " Gfg Demo Annotation", val = 100)        // a method to call in the main   public static void gfg() throws NoSuchMethodException    {      PackageDemo ob = new PackageDemo();                   Class c = ob.getClass();           // get the method example         Method m = c.getMethod("gfg");           // get the annotation for class Demo         Demo annotation = m.getAnnotation(Demo.class);           // checking the annotation         System.out.println(annotation.str() + " " + annotation.val());         Annotation[] gfg_ann = m.getDeclaredAnnotations();                    for(int i = 0; i < gfg_ann.length; i++)         {             System.out.println(gfg_ann[i]);         }    }         public static void main(String args[]) throws Exception   {      gfg();   }}Output: Gfg Demo Annotation 100
@Demo(str= Gfg Demo Annotation, val=100)

Syntax: public Annotation[] getDeclaredAnnotations().
Returns: All annotations directly present on this element.
Exception: NA.

// java code illustrating getDeclaredAnnotation() methodimport java.lang.annotation.Annotation;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.reflect.Method;  // declare a annotation type@Retention(RetentionPolicy.RUNTIME)@interface Demo {   String str();   int val();}  public class PackageDemo {     // setting values for the annotation   @Demo(str = " Gfg Demo Annotation", val = 100)        // a method to call in the main   public static void gfg() throws NoSuchMethodException    {      PackageDemo ob = new PackageDemo();                   Class c = ob.getClass();           // get the method example         Method m = c.getMethod("gfg");           // get the annotation for class Demo         Demo annotation = m.getAnnotation(Demo.class);           // checking the annotation         System.out.println(annotation.str() + " " + annotation.val());         Annotation[] gfg_ann = m.getDeclaredAnnotations();                    for(int i = 0; i < gfg_ann.length; i++)         {             System.out.println(gfg_ann[i]);         }    }         public static void main(String args[]) throws Exception   {      gfg();   }}
Output:
 Gfg Demo Annotation 100
@Demo(str= Gfg Demo Annotation, val=100)

String getImplementationTitle(): Return the title of this package.Syntax: public String getImplementationTitle()
Returns: the title of the implementation, null is returned if it is not known.
Exception: NA

Syntax: public String getImplementationTitle()
Returns: the title of the implementation, null is returned if it is not known.
Exception: NA

String getImplementationVersion(): Return the version of this implementation. It consists of any string assigned by the vendor of this implementation and does not have any particular syntax specified or expected by the Java runtime. It may be compared for equality with other package version strings used for this implementation by this vendor for this package.Syntax: public String getImplementationVersion()
Returns: the version of the implementation, null is returned if it is not known.
Exception: NA

Syntax: public String getImplementationVersion()
Returns: the version of the implementation, null is returned if it is not known.
Exception: NA

String getImplementationVendor(): Returns the name of the organization, vendor or company that provided this implementation.Syntax: public String getImplementationVendor().
Returns: the vendor that implemented this package.
Exception: NA.

Syntax: public String getImplementationVendor().
Returns: the vendor that implemented this package.
Exception: NA.

String getName(): Return the name of this package.Syntax: public String getName()
Returns: The fully-qualified name of this package as defined
 in section 6.5.3 of The JavaTM Language Specification, for example, java.lang.
Exception: NA
// Java code illustrating getName(), getImplementationTitle()// and getImplementationVendor() and getImplementationVersion()// methodsclass PackageDemo{    public static void main(String arg[])    {        Package pkgs[];        pkgs = Package.getPackages();                  for(int i=0; i<1; i++)        {            //  name of the package            System.out.println(pkgs[i].getName());                          // checking title of this implementation            System.out.println(pkgs[i].getImplementationTitle());                          // checking the vendor            System.out.println(pkgs[i].getImplementationVendor());                          // version of this implementation            System.out.println(pkgs[i].getImplementationVersion());                                  }    }}Output:sun.reflect
Java Runtime Environment
Oracle Corporation
1.8.0_121

Syntax: public String getName()
Returns: The fully-qualified name of this package as defined
 in section 6.5.3 of The JavaTM Language Specification, for example, java.lang.
Exception: NA

// Java code illustrating getName(), getImplementationTitle()// and getImplementationVendor() and getImplementationVersion()// methodsclass PackageDemo{    public static void main(String arg[])    {        Package pkgs[];        pkgs = Package.getPackages();                  for(int i=0; i<1; i++)        {            //  name of the package            System.out.println(pkgs[i].getName());                          // checking title of this implementation            System.out.println(pkgs[i].getImplementationTitle());                          // checking the vendor            System.out.println(pkgs[i].getImplementationVendor());                          // version of this implementation            System.out.println(pkgs[i].getImplementationVersion());                                  }    }}
Output:
sun.reflect
Java Runtime Environment
Oracle Corporation
1.8.0_121

static Package getPackage(String name): Find a package by name in the callers ClassLoader instance. The callers ClassLoader instance is used to find the package instance corresponding to the named class. If the callers ClassLoader instance is null then the set of packages loaded by the system ClassLoader instance is searched to find the named package.Syntax: public static Package getPackage(String name)
Returns: the package of the requested name. It may 
be null if no package information is available from the archive or 
codebase.
Exception: NA

Syntax: public static Package getPackage(String name)
Returns: the package of the requested name. It may 
be null if no package information is available from the archive or 
codebase.
Exception: NA

static Package[] getPackages(): Get all the packages currently known for the caller’s ClassLoader instance. Those packages correspond to classes loaded via or accessible by name to that ClassLoader instance. If the caller’s ClassLoader instance is the bootstrap ClassLoader instance, which may be represented by null in some implementations, only packages corresponding to classes loaded by the bootstrap ClassLoader instance will be returned.Syntax: public static Package[] getPackages()
Returns: a new array of packages known to the callers 
ClassLoader instance. An zero length array is returned if none are known.
Exception: NA
// Java code illustrating getPackages() methodclass PackageDemo{    public static void main(String arg[])    {        Package pkgs[];        pkgs = Package.getPackages();                  Package pkg = Package.getPackage("java.lang");                  for(int i=0; i<1; i++)        {        System.out.println(pkg.getName());        System.out.println(pkgs[i].getName());        }    }}Output:java.lang
sun.reflect

Syntax: public static Package[] getPackages()
Returns: a new array of packages known to the callers 
ClassLoader instance. An zero length array is returned if none are known.
Exception: NA

// Java code illustrating getPackages() methodclass PackageDemo{    public static void main(String arg[])    {        Package pkgs[];        pkgs = Package.getPackages();                  Package pkg = Package.getPackage("java.lang");                  for(int i=0; i<1; i++)        {        System.out.println(pkg.getName());        System.out.println(pkgs[i].getName());        }    }}
Output:
java.lang
sun.reflect

String getSpecificationTitle(): Return the title of the specification that this package implements.Syntax: public String getSpecificationTitle()
Returns: the specification title, null is returned 
if it is not known.
exception: NA.

Syntax: public String getSpecificationTitle()
Returns: the specification title, null is returned 
if it is not known.
exception: NA.

String getSpecificationVersion(): Returns the version number of the specification that this package implements. This version string must be a sequence of nonnegative decimal integers separated by “.”‘s and may have leading zeros. When version strings are compared the most significant numbers are compared.Syntax: public String getSpecificationVersion().
Returns: the specification version, null is returned 
if it is not known.
Exception: NA.

Syntax: public String getSpecificationVersion().
Returns: the specification version, null is returned 
if it is not known.
Exception: NA.

String getSpecificationVendor(): Return the name of the organization, vendor, or company that owns and maintains the specification of the classes that implement this package.Syntax: public String getSpecificationVendor()
Returns: the specification vendor, null is returned
 if it is not known.
Exception: NA.

Syntax: public String getSpecificationVendor()
Returns: the specification vendor, null is returned
 if it is not known.
Exception: NA.

int hashCode(): Return the hash code computed from the package name.Syntax: Return the hash code computed from the package name.
Exception: NA
Returns: the hash code.
// Java code illustrating hashCode(), getSpecificationTitle()// getSpecificationVendor() and getSpecificationVersion()class PackageDemo{    public static void main(String arg[])    {        Package pkgs[];        pkgs = Package.getPackages();                  for(int i=0; i<1; i++)        {            //  name of the package            System.out.println(pkgs[i].hashCode());                          // checking title             System.out.println(pkgs[i].getSpecificationTitle());                          // checking the vendor            System.out.println(pkgs[i].getSpecificationVendor());                          // checking version            System.out.println(pkgs[i].getSpecificationVersion());                                  }    }}Output:685414683
Java Platform API Specification
Oracle Corporation
1.8

Syntax: Return the hash code computed from the package name.
Exception: NA
Returns: the hash code.

// Java code illustrating hashCode(), getSpecificationTitle()// getSpecificationVendor() and getSpecificationVersion()class PackageDemo{    public static void main(String arg[])    {        Package pkgs[];        pkgs = Package.getPackages();                  for(int i=0; i<1; i++)        {            //  name of the package            System.out.println(pkgs[i].hashCode());                          // checking title             System.out.println(pkgs[i].getSpecificationTitle());                          // checking the vendor            System.out.println(pkgs[i].getSpecificationVendor());                          // checking version            System.out.println(pkgs[i].getSpecificationVersion());                                  }    }}
Output:
685414683
Java Platform API Specification
Oracle Corporation
1.8

boolean isCompatibleWith(String desired): Compare this package’s specification version with a desired version. It returns true if this packages specification version number is greater than or equal to the desired version number.Syntax: public boolean isCompatibleWith(String desired).
Returns: true if this package's version number is 
greater than or equal to the desired version number
Exception: 
NumberFormatException - if the desired or current version is not 
of the correct dotted form.

Syntax: public boolean isCompatibleWith(String desired).
Returns: true if this package's version number is 
greater than or equal to the desired version number
Exception: 
NumberFormatException - if the desired or current version is not 
of the correct dotted form.

boolean isSealed(): Returns true if this package is sealed.Syntax: public boolean isSealed()
Returns: true if the package is sealed, false otherwise.
Exception: NA

Syntax: public boolean isSealed()
Returns: true if the package is sealed, false otherwise.
Exception: NA

boolean isSealed(URL url): Returns true if this package is sealed with respect to the specified code source url.Syntax: public boolean isSealed(URL url)
Returns: true if this package is sealed with respect to url
Exception: NA

Syntax: public boolean isSealed(URL url)
Returns: true if this package is sealed with respect to url
Exception: NA

String toString(): Returns the string representation of this Package. Its value is the string “package ” and the package name. If the package title is defined it is appended. If the package version is defined it is appended.Syntax: public String toString()
Returns: the string representation of the package.
Exception: NA
// java code illustrating isCompatibleWith(), toString(),// isSealed methods  import java.net.MalformedURLException;import java.net.URL;  class PackageDemo{    public static void main(String arg[]) throws MalformedURLException    {        Package pkg = Package.getPackage("java.lang");                  // checking if pkg is compatible with 1.0        System.out.println(pkg.isCompatibleWith("1.0"));                  // checking if packet is sealed        System.out.println(pkg.isSealed());                  URL url = new URL("https://www.youtube.com/");                  System.out.println(pkg.isSealed(url));                  // string equivalent of package        System.out.println(pkg.toString());              }}Output:true
false
false
package java.lang, Java Platform API Specification, version 1.8

Syntax: public String toString()
Returns: the string representation of the package.
Exception: NA

// java code illustrating isCompatibleWith(), toString(),// isSealed methods  import java.net.MalformedURLException;import java.net.URL;  class PackageDemo{    public static void main(String arg[]) throws MalformedURLException    {        Package pkg = Package.getPackage("java.lang");                  // checking if pkg is compatible with 1.0        System.out.println(pkg.isCompatibleWith("1.0"));                  // checking if packet is sealed        System.out.println(pkg.isSealed());                  URL url = new URL("https://www.youtube.com/");                  System.out.println(pkg.isSealed(url));                  // string equivalent of package        System.out.println(pkg.toString());              }}
Output:
true
false
false
package java.lang, Java Platform API Specification, version 1.8

This article is contributed by Abhishek Verma. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Java-lang package
Java
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Object Oriented Programming (OOPs) Concept in Java
How to iterate any Map in Java
HashMap in Java with Examples
ArrayList in Java
Stream In Java
Collections in Java
Multidimensional Arrays in Java
Singleton Class in Java
Stack Class in Java
Set in Java