From 1fa3450b276c59614506abe20e138cc2ef8284de Mon Sep 17 00:00:00 2001 From: Looly Date: Tue, 10 May 2022 18:17:41 +0800 Subject: [PATCH] add methods --- CHANGELOG.md | 1 + .../main/java/cn/hutool/system/JavaInfo.java | 142 +++++++++--------- 2 files changed, 72 insertions(+), 71 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 63cc56ce8..d0a4e9362 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ ### 🐣新特性 * 【core 】 BooleanUtil增加toBooleanObject方法(issue#I56AG3@Gitee) * 【core 】 CharSequenceUtil增加startWithAnyIgnoreCase方法(issue#2312@Github) +* 【system 】 JavaInfo增加版本(issue#2310@Github) ### 🐞Bug修复 * 【core 】 MapUtil.map对null友好,且修复了测试用例中分组问题(pr#614@Gitee) * 【core 】 修复BeanUtil.beanToMap中properties为null的空指针问题(issue#2303@Github) diff --git a/hutool-system/src/main/java/cn/hutool/system/JavaInfo.java b/hutool-system/src/main/java/cn/hutool/system/JavaInfo.java index 397598feb..34a91e38a 100755 --- a/hutool-system/src/main/java/cn/hutool/system/JavaInfo.java +++ b/hutool-system/src/main/java/cn/hutool/system/JavaInfo.java @@ -39,12 +39,12 @@ public class JavaInfo implements Serializable { /** - * 取得当前Java impl.的版本(取自系统属性:java.version)。 + * 取得当前Java impl.的版本(取自系统属性:{@code java.version})。 * *

- * 例如Sun JDK 1.4.2:"1.4.2" + * 例如Sun JDK 1.4.2:{@code "1.4.2"} * - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 * @since Java 1.1 */ public final String getVersion() { @@ -52,35 +52,35 @@ public class JavaInfo implements Serializable { } /** - * 取得当前Java impl.的版本(取自系统属性:java.version)。 + * 取得当前Java impl.的版本(取自系统属性:{@code java.version})。 * *

* 例如: * *

* - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回0。 + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code 0}。 */ public final float getVersionFloat() { return JAVA_VERSION_FLOAT; } /** - * 取得当前Java impl.的版本(取自系统属性:java.version),java10及其之后的版本返回值为4位。 + * 取得当前Java impl.的版本(取自系统属性:{@code java.version}),java10及其之后的版本返回值为4位。 * *

* 例如: * *

* - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回0。 + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code 0}。 * @since Java 1.1 */ public final int getVersionInt() { @@ -88,9 +88,9 @@ public class JavaInfo implements Serializable { } /** - * 取得当前Java impl.的版本的float值。 + * 取得当前Java impl.的版本的{@code float}值。 * - * @return Java版本的float值或0 + * @return Java版本的float值或{@code 0} */ private float getJavaVersionAsFloat() { if (JAVA_VERSION == null) { @@ -105,18 +105,18 @@ public class JavaInfo implements Serializable { } /** - * 取得当前Java impl.的版本的int值。 + * 取得当前Java impl.的版本的{@code int}值。 * - * @return Java版本的int值或0 + * @return Java版本的int值或{@code 0} */ private int getJavaVersionAsInt() { if (JAVA_VERSION == null) { return 0; } - String javaVersion = ReUtil.get("^[0-9]{1,2}(\\.[0-9]{1,2}){0,2}", JAVA_VERSION, 0); + final String javaVersion = ReUtil.get("^[0-9]{1,2}(\\.[0-9]{1,2}){0,2}", JAVA_VERSION, 0); - String[] split = javaVersion.split("\\."); + final String[] split = javaVersion.split("\\."); String result = ArrayUtil.join(split, ""); //保证java10及其之后的版本返回的值为4位 @@ -128,12 +128,12 @@ public class JavaInfo implements Serializable { } /** - * 取得当前Java impl.的厂商(取自系统属性:java.vendor)。 + * 取得当前Java impl.的厂商(取自系统属性:{@code java.vendor})。 * *

- * 例如Sun JDK 1.4.2:"Sun Microsystems Inc." + * 例如Sun JDK 1.4.2:{@code "Sun Microsystems Inc."} * - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 * @since Java 1.1 */ public final String getVendor() { @@ -141,12 +141,12 @@ public class JavaInfo implements Serializable { } /** - * 取得当前Java impl.的厂商网站的URL(取自系统属性:java.vendor.url)。 + * 取得当前Java impl.的厂商网站的URL(取自系统属性:{@code java.vendor.url})。 * *

- * 例如Sun JDK 1.4.2:"http://java.sun.com/" + * 例如Sun JDK 1.4.2:{@code "http://java.sun.com/"} * - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 * @since Java 1.1 */ public final String getVendorURL() { @@ -157,9 +157,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为1.1,则返回true + * @return 如果当前Java版本为1.1,则返回{@code true} */ public final boolean isJava1_1() { return IS_JAVA_1_1; @@ -169,9 +169,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为1.2,则返回true + * @return 如果当前Java版本为1.2,则返回{@code true} */ public final boolean isJava1_2() { return IS_JAVA_1_2; @@ -181,9 +181,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为1.3,则返回true + * @return 如果当前Java版本为1.3,则返回{@code true} */ public final boolean isJava1_3() { return IS_JAVA_1_3; @@ -193,9 +193,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为1.4,则返回true + * @return 如果当前Java版本为1.4,则返回{@code true} */ public final boolean isJava1_4() { return IS_JAVA_1_4; @@ -205,9 +205,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为1.5,则返回true + * @return 如果当前Java版本为1.5,则返回{@code true} */ public final boolean isJava1_5() { return IS_JAVA_1_5; @@ -217,9 +217,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为1.6,则返回true + * @return 如果当前Java版本为1.6,则返回{@code true} */ public final boolean isJava1_6() { return IS_JAVA_1_6; @@ -229,9 +229,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为1.7,则返回true + * @return 如果当前Java版本为1.7,则返回{@code true} */ public final boolean isJava1_7() { return IS_JAVA_1_7; @@ -241,9 +241,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为1.8,则返回true + * @return 如果当前Java版本为1.8,则返回{@code true} */ public final boolean isJava1_8() { return IS_JAVA_1_8; @@ -253,9 +253,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为9,则返回true + * @return 如果当前Java版本为9,则返回{@code true} */ public final boolean isJava9() { return IS_JAVA_9; @@ -265,9 +265,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为10,则返回true + * @return 如果当前Java版本为10,则返回{@code true} */ public final boolean isJava10() { return IS_JAVA_10; @@ -277,9 +277,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为11,则返回true + * @return 如果当前Java版本为11,则返回{@code true} */ public final boolean isJava11() { return IS_JAVA_11; @@ -289,9 +289,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为12,则返回true + * @return 如果当前Java版本为12,则返回{@code true} */ public final boolean isJava12() { return IS_JAVA_12; @@ -301,9 +301,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为13,则返回true + * @return 如果当前Java版本为13,则返回{@code true} */ public final boolean isJava13() { return IS_JAVA_13; @@ -314,9 +314,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为14,则返回true + * @return 如果当前Java版本为14,则返回{@code true} */ public final boolean isJava14() { return IS_JAVA_14; @@ -326,9 +326,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为15,则返回true + * @return 如果当前Java版本为15,则返回{@code true} */ public final boolean isJava15() { return IS_JAVA_15; @@ -338,9 +338,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为16,则返回true + * @return 如果当前Java版本为16,则返回{@code true} */ public final boolean isJava16() { return IS_JAVA_16; @@ -350,9 +350,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为17,则返回true + * @return 如果当前Java版本为17,则返回{@code true} */ public final boolean isJava17() { return IS_JAVA_17; @@ -362,9 +362,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为18,则返回true + * @return 如果当前Java版本为18,则返回{@code true} */ public final boolean isJava18() { return IS_JAVA_18; @@ -374,9 +374,9 @@ public class JavaInfo implements Serializable { * 匹配当前Java的版本。 * * @param versionPrefix Java版本前缀 - * @return 如果版本匹配,则返回true + * @return 如果版本匹配,则返回{@code true} */ - private boolean getJavaVersionMatches(String versionPrefix) { + private boolean getJavaVersionMatches(final String versionPrefix) { if (JAVA_VERSION == null) { return false; } @@ -392,14 +392,14 @@ public class JavaInfo implements Serializable { * * *

* * @param requiredVersion 需要的版本 - * @return 如果当前Java版本大于或等于指定的版本,则返回true + * @return 如果当前Java版本大于或等于指定的版本,则返回{@code true} */ - public final boolean isJavaVersionAtLeast(float requiredVersion) { + public final boolean isJavaVersionAtLeast(final float requiredVersion) { return getVersionFloat() >= requiredVersion; } @@ -411,14 +411,14 @@ public class JavaInfo implements Serializable { * * * * * @param requiredVersion 需要的版本 - * @return 如果当前Java版本大于或等于指定的版本,则返回true + * @return 如果当前Java版本大于或等于指定的版本,则返回{@code true} */ - public final boolean isJavaVersionAtLeast(int requiredVersion) { + public final boolean isJavaVersionAtLeast(final int requiredVersion) { return getVersionInt() >= requiredVersion; } @@ -429,7 +429,7 @@ public class JavaInfo implements Serializable { */ @Override public final String toString() { - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); SystemUtil.append(builder, "Java Version: ", getVersion()); SystemUtil.append(builder, "Java Vendor: ", getVendor());