1

我需要验证 java 版本。我用

String version = System.getProperty("java.version");

例如,如何简单地解析它以了解已安装的 JRE。1.6.0_18版本 ?我想知道java版本的命名约定是标准的。

4

2 回答 2

2

是的,有命名约定。你可以从这里找到它。更多关于版本 6 的最新信息可以从这里找到。

于 2012-08-28T07:24:04.213 回答
0

是的,据我所知,这是 java 版本的命名约定,所以只需System.getProperty("java.version")像你已经在做的那样使用,如果安装了最低要求的 jre,则使用 stringTokenizer 检查字符串。

编辑:我一开始就写了 Stringbuilder,当然我的意思是 stringtokenizer。

使用 Stringtokenizer,您可以获得由定义的符号分隔的字符串的子字符串,并在某种程度上遍历字符串。您可能需要第二个字符串标记器,第一个用“。”分隔字符串。而不是最后一个由“_”分隔的子字符串。在这里抽一口。

你可以这样做:(当然你也可以通过一个循环来做,检查 hasMoreTokens() 等等,但在这种情况下你不需要,因为你确切地知道字符串的样子)

String[] versionArray = new String[4];
String version = System.getProperty("java.version"); 
StringTokenizer st1 = new StringTokenizer(version,".");
versionArray[1] = st1.nextToken();
versionArray[2] = st1.nextToken();
StringTokenizer st2 = new StringTokenizer(st1.nextToken(),"_");
versionArray[3] = st2.nextToken();
versionArray[4] = st2.nextToken();

在 versionArray 之后将与您的示例 ["1"]["6"]["0"]["18"] 进行比较,您可以对此进行比较...

于 2012-08-28T07:28:18.657 回答