org.apache.commons.lang3

## Enum JavaVersion

- java.lang.Object
- - java.lang.Enum<JavaVersion>
  - - org.apache.commons.lang3.JavaVersion

- All Implemented Interfaces:
    Serializable, Comparable<JavaVersion>

      public enum JavaVersion
      extends Enum<JavaVersion>

  An enum representing all the versions of the Java specification. This is intended to mirror available values from the java.specification.version System property.
  Since:
    3.0

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant and Description
    `JAVA_0_9` The Java version reported by Android.
    `JAVA_1_1` Java 1.1.
    `JAVA_1_2` Java 1.2.
    `JAVA_1_3` Java 1.3.
    `JAVA_1_4` Java 1.4.
    `JAVA_1_5` Java 1.5.
    `JAVA_1_6` Java 1.6.
    `JAVA_1_7` Java 1.7.
    `JAVA_1_8` Java 1.8.
    `JAVA_1_9` Deprecated. As of release 3.5, replaced by `JAVA_9`
    `JAVA_10` Java 10.
    `JAVA_11` Java 11.
    `JAVA_12` Java 12.
    `JAVA_13` Java 13.
    `JAVA_14` Java 14.
    `JAVA_15` Java 15.
    `JAVA_16` Java 16.
    `JAVA_17` Java 17.
    `JAVA_18` Java 18.
    `JAVA_19` Java 19.
    `JAVA_20` Java 20.
    `JAVA_21` Java 21.
    `JAVA_9` Java 9.
    `JAVA_RECENT` The most recent java version.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `atLeast(JavaVersion requiredVersion)` Whether this version of Java is at least the version of Java passed in.
    `boolean` | `atMost(JavaVersion requiredVersion)` Whether this version of Java is at most the version of Java passed in.
    `String` | `toString()` The string value is overridden to return the standard name.
    `static JavaVersion` | `valueOf(String name)` Returns the enum constant of this type with the specified name.
    `static JavaVersion[]` | `values()` Returns an array containing the constants of this enum type, in the order they are declared.

    - ### Methods inherited from class java.lang.Enum

      `clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOf`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Enum Constant Detail

    - #### JAVA_0_9

          public static final JavaVersion JAVA_0_9

      The Java version reported by Android. This is not an official Java version number.

    - #### JAVA_1_1

          public static final JavaVersion JAVA_1_1

      Java 1.1.

    - #### JAVA_1_2

          public static final JavaVersion JAVA_1_2

      Java 1.2.

    - #### JAVA_1_3

          public static final JavaVersion JAVA_1_3

      Java 1.3.

    - #### JAVA_1_4

          public static final JavaVersion JAVA_1_4

      Java 1.4.

    - #### JAVA_1_5

          public static final JavaVersion JAVA_1_5

      Java 1.5.

    - #### JAVA_1_6

          public static final JavaVersion JAVA_1_6

      Java 1.6.

    - #### JAVA_1_7

          public static final JavaVersion JAVA_1_7

      Java 1.7.

    - #### JAVA_1_8

          public static final JavaVersion JAVA_1_8

      Java 1.8.

    - #### JAVA_1_9

          @Deprecated
          public static final JavaVersion JAVA_1_9

      Deprecated. As of release 3.5, replaced by `JAVA_9`
      Java 1.9.

    - #### JAVA_9

          public static final JavaVersion JAVA_9

      Java 9.
      Since:
        3.5

    - #### JAVA_10

          public static final JavaVersion JAVA_10

      Java 10.
      Since:
        3.7

    - #### JAVA_11

          public static final JavaVersion JAVA_11

      Java 11.
      Since:
        3.8

    - #### JAVA_12

          public static final JavaVersion JAVA_12

      Java 12.
      Since:
        3.9

    - #### JAVA_13

          public static final JavaVersion JAVA_13

      Java 13.
      Since:
        3.9

    - #### JAVA_14

          public static final JavaVersion JAVA_14

      Java 14.
      Since:
        3.11

    - #### JAVA_15

          public static final JavaVersion JAVA_15

      Java 15.
      Since:
        3.11

    - #### JAVA_16

          public static final JavaVersion JAVA_16

      Java 16.
      Since:
        3.11

    - #### JAVA_17

          public static final JavaVersion JAVA_17

      Java 17.
      Since:
        3.12.0

    - #### JAVA_18

          public static final JavaVersion JAVA_18

      Java 18.
      Since:
        3.13.0

    - #### JAVA_19

          public static final JavaVersion JAVA_19

      Java 19.
      Since:
        3.13.0

    - #### JAVA_20

          public static final JavaVersion JAVA_20

      Java 20.
      Since:
        3.13.0

    - #### JAVA_21

          public static final JavaVersion JAVA_21

      Java 21.
      Since:
        3.13.0

    - #### JAVA_RECENT

          public static final JavaVersion JAVA_RECENT

      The most recent java version. Mainly introduced to avoid to break when a new version of Java is used.

  - ### Method Detail

    - #### values

          public static JavaVersion[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (JavaVersion c : JavaVersion.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static JavaVersion valueOf(String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
        `name` - the name of the enum constant to be returned.
      Returns:
        the enum constant with the specified name
      Throws:
        `IllegalArgumentException` - if this enum type has no constant with the specified name
        `NullPointerException` - if the argument is null

    - #### atLeast

          public boolean atLeast(JavaVersion requiredVersion)

      Whether this version of Java is at least the version of Java passed in.

      For example:
      `myVersion.atLeast(JavaVersion.JAVA_1_4)`

      Parameters:
        `requiredVersion` - the version to check against, not null
      Returns:
        true if this version is equal to or greater than the specified version

    - #### atMost

          public boolean atMost(JavaVersion requiredVersion)

      Whether this version of Java is at most the version of Java passed in.

      For example:
      `myVersion.atMost(JavaVersion.JAVA_1_4)`

      Parameters:
        `requiredVersion` - the version to check against, not null
      Returns:
        true if this version is equal to or greater than the specified version
      Since:
        3.9

    - #### toString

          public String toString()

      The string value is overridden to return the standard name.

      For example, `"1.5"`.

      Overrides:
        `toString` in class `Enum<JavaVersion>`
      Returns:
        the name, not null

Copyright © 2001–2023 The Apache Software Foundation. All rights reserved.