Java 9新版本字符串方案

本文概述

  • Java Runtime.Version类签名
  • Java Runtime.Version类方法
  • Java Runtime.Version示例
Java版本字符串是一种包含版本特定信息的格式。此版本字符串包含主要, 次要, 安全性和修补程序更新版本。
在Java 9中, 引入了一个新的版本字符串方案, 如下所示。
$MAJOR.$MINOR.$SECURITY.$PATCH

$主要
此版本号显示Java版本的重大更改。当发生重大变化时, 它会增加。就像Java 8到Java 9一样。每个主要版本都包含现有功能的新功能。
$ MINOR
此版本号显示Java版本中的细微更改, 并随每次较小的更新而增加。这些更新可以是错误修复, 对标准API的修订等。如果将更新发布到Java 9, 则版本字符串格式将为Java 9.1(包含主要和次要版本号)。
$安全
此版本号表示安全更新, 并且每个新的安全更新都会增加。安全更新可能是关键修复程序和安全问题。如果对Java 9发布了任何安全更新, 则版本字符串格式将类似于:Java 9.1.5(包含主要版本, 次要版本和安全版本号)。
$ PATCH
对于每个安全性和高优先级客户修复程序, 此版本号都会增加, 这些版本已一起测试。如果将修补程序发布到Java 9, 则版本字符串格式将为Java 9.1.5.1(包含主要, 次要, 安全性和补丁程序发布编号)。
注意:如果任何$ SECURITY, $ MINOR或$ MAJOR版本号递增, 则每次$ PATCH版本号重置为零。如果$ MAJOR版本号增加, 则$ MINOR和$ SECURITY版本号将设置为零。但是, 当$ MINOR版本号增加时, 后续的$ SECURITY版本号不必设置为零。
在Java 9中, 添加了Runtime.Version类以获取Java版本信息。此类包含方法, 并具有以下签名。
Java Runtime.Version类签名
public static final class Runtime.Version extends Object implements Comparable< Runtime.Version>

Java Runtime.Version类方法
修饰符和类型 方法 描述
Optional< Integer> build() 它返回内部版本号。
int compareTo(Runtime.Version obj) 它将这个版本与另一个版本进行比较。
int compareToIgnoreOptional(Runtime.Version obj) 它将这个版本与另一个忽略可选构建信息的版本进行比较。
boolean equals(Object obj) 它确定此版本是否等于另一个对象。
boolean equalsIgnoreOptional(Object obj) 它确定此版本是否等于另一个版本, 而不考虑可选的构建信息。
int hashCode() 它返回此版本的哈希码。
int major() 它返回主版本号。
int major() 它返回次要版本号, 如果未设置, 则返回零。
Optional< String> optional() 它返回可选的其他标识构建信息。
静态Runtime.Version parse(String s) 它将给定的字符串解析为一个有效的版本字符串, 其中包含版本号, 后跟预发行版本和构建信息。
Optional< String> pre() 它返回可选的预发行信息。
int security() 它返回安全版本号;如果未设置, 则返回零。
String toString() 它返回此版本的字符串表示形式。
List< Integer> version() 它返回版本号中包含的不可修改的整数列表。
Java Runtime.Version示例
public class VersionInfoExample { public static void main(String[] args) {Runtime.Version version = Runtime.version(); // Getting runtime version instanceSystem.out.println("Current version is "+version); // Getting current Java versionSystem.out.println("Major version number "+version.major()); // Getting major version numberSystem.out.println("Minor version number "+version.minor()); // Getting minor version numberSystem.out.println("Security version number "+version.security()); // Getting security version numberSystem.out.println("Pre-released information "+version.pre()); // Getting pre-release version informationSystem.out.println("Build Number "+version.build()); // Getting Optional build number }}

【Java 9新版本字符串方案】输出:
Current version is 9.0.1+11Major version number 9Minor version number 0Security version number 1Pre-released information Optional.emptyBuild Number Optional[11]

    推荐阅读