Comparable<Runtime.Version>
Runtime
A representation of a version string for an implementation of the Java SE Platform. A version string consists of a version number optionally followed by pre-release and build information.
Version numbersA version number, $VNUM
, is a non-empty sequence of elements separated by period characters (U+002E). An element is either zero, or an unsigned integer numeral without leading zeros. The final element in a version number must not be zero. When an element is incremented, all subsequent elements are removed. The format is:
[1-9][0-9]*((\.0)*\.[1-9][0-9]*)*
The sequence may be of arbitrary length but the first four elements are assigned specific meanings, as follows:
$FEATURE.$INTERIM.$UPDATE.$PATCH
$FEATURE
— The feature-release counter, incremented for every feature release regardless of release content. Features may be added in a feature release; they may also be removed, if advance notice was given at least one feature release ahead of time. Incompatible changes may be made when justified.
$INTERIM
— The interim-release counter, incremented for non-feature releases that contain compatible bug fixes and enhancements but no incompatible changes, no feature removals, and no changes to standard APIs.
$UPDATE
— The update-release counter, incremented for compatible update releases that fix security issues, regressions, and bugs in newer features.
$PATCH
— The emergency patch-release counter, incremented only when it's necessary to produce an emergency release to fix a critical issue.
The fifth and later elements of a version number are free for use by platform implementors, to identify implementor-specific patch releases.
A version number never has trailing zero elements. If an element and all those that follow it logically have the value zero then all of them are omitted.
The sequence of numerals in a version number is compared to another such sequence in numerical, pointwise fashion; e.g., 10.0.4
is less than 10.1.2
. If one sequence is shorter than another then the missing elements of the shorter sequence are considered to be less than the corresponding elements of the longer sequence; e.g., 10.0.2
is less than 10.0.2.1
.
A version string, $VSTR
, is a version number $VNUM
, as described above, optionally followed by pre-release and build information, in one of the following formats:
$VNUM(-$PRE)?\+$BUILD(-$OPT)? $VNUM-$PRE(-$OPT)? $VNUM(\+-$OPT)?
where:
$PRE
, matching ([a-zA-Z0-9]+)
— A pre-release identifier. Typically ea
, for a potentially unstable early-access release under active development, or internal
, for an internal developer build.
$BUILD
, matching (0|[1-9][0-9]*)
— The build number, incremented for each promoted build. $BUILD
is reset to 1
when any portion of $VNUM
is incremented.
$OPT
, matching ([-a-zA-Z0-9.]+)
— Additional build information, if desired. In the case of an internal
build this will often contain the date and time of the build.
A version string 10-ea
matches $VNUM = "10"
and $PRE = "ea"
. The version string 10+-ea
matches $VNUM = "10"
and $OPT = "ea"
.
When comparing two version strings, the value of $OPT
, if present, may or may not be significant depending on the chosen comparison method. The comparison methods compareTo()
and compareToIgnoreOptional()
should be used consistently with the corresponding methods equals()
and equalsIgnoreOptional()
.
A short version string, $SVSTR
, often useful in less formal contexts, is a version number optionally followed by a pre-release identifier:
$VNUM(-$PRE)?
This is a value-based class; programmers should treat instances that are equal as interchangeable and should not use instances for synchronization, or unpredictable behavior may occur. For example, in a future release, synchronization may fail.
int
Compares this version to another.
int
Compares this version to another disregarding optional build information.
boolean
Determines whether this Version
is equal to another object.
boolean
Determines whether this Version
is equal to another disregarding optional build information.
int
Returns the value of the
featureelement of the version number.
int
Returns the hash code of this version.
int
Returns the value of the
interimelement of the version number, or zero if it is absent.
int
int
Returns
optionaladditional identifying build information.
int
Returns the value of the
patchelement of the version number, or zero if it is absent.
int
Returns a string representation of this version.
int
Returns the value of the
updateelement of the version number, or zero if it is absent.
s
- A string to interpret as a version
IllegalArgumentException
- If the given string cannot be interpreted as a valid version
NullPointerException
- If the given string is null
NumberFormatException
- If an element of the version number or the build number cannot be represented as an Integer
public int feature()
Returns the value of the
featureelement of the version number.
public int interim()
Returns the value of the
interimelement of the version number, or zero if it is absent.
public int update()
Returns the value of the
updateelement of the version number, or zero if it is absent.
public int patch()
Returns the value of the
patchelement of the version number, or zero if it is absent.
Returns the value of the major element of the version number.
Returns the value of the minor element of the version number, or zero if it is absent.
Returns the value of the security element of the version number, or zero if it is absent.
Returns
optionaladditional identifying build information.
Compares this version to another.
Each of the components in the version is compared in the following order of precedence: version numbers, pre-release identifiers, build numbers, optional build information.
Comparison begins by examining the sequence of version numbers. If one sequence is shorter than another, then the missing elements of the shorter sequence are considered to be less than the corresponding elements of the longer sequence.
A version with a pre-release identifier is always considered to be less than a version without one. Pre-release identifiers are compared numerically when they consist only of digits, and lexicographically otherwise. Numeric identifiers are considered to be less than non-numeric identifiers.
A version without a build number is always less than one with a build number; otherwise build numbers are compared numerically.
The optional build information is compared lexicographically. During this comparison, a version with optional build information is considered to be greater than a version without one.
compareTo
in interface Comparable<Runtime.Version>
obj
- The object to be compared
Version
is less than, equal to, or greater than the given Version
NullPointerException
- If the given object is null
Compares this version to another disregarding optional build information.
Two versions are compared by examining the version string as described in compareTo(Version)
with the exception that the optional build information is always ignored.
This method provides ordering which is consistent with equalsIgnoreOptional()
.
obj
- The object to be compared
Version
is less than, equal to, or greater than the given Version
NullPointerException
- If the given object is null
Returns a string representation of this version.
Determines whether this
Version
is equal to another object.
Two Version
s are equal if and only if they represent the same version string.
Determines whether this
Version
is equal to another disregarding optional build information.
Two Version
s are equal if and only if they represent the same version string disregarding the optional build information.
obj
- The object to which this Version
is to be compared
true
if, and only if, the given object is a Version
that is identical to this Version
ignoring the optional build information
public int hashCode()
Returns the hash code of this version.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4