diff --git a/hutool-core/src/main/java/cn/hutool/core/annotation/HierarchicalAnnotatedElements.java b/hutool-core/src/main/java/cn/hutool/core/annotation/HierarchicalAnnotatedElements.java
index 7959164bc..a6f06ad8e 100644
--- a/hutool-core/src/main/java/cn/hutool/core/annotation/HierarchicalAnnotatedElements.java
+++ b/hutool-core/src/main/java/cn/hutool/core/annotation/HierarchicalAnnotatedElements.java
@@ -19,7 +19,7 @@ import java.util.stream.Stream;
* 并将其包装为{@link MetaAnnotatedElement}。
* eg:
* 若存在元素A有对应父类与父接口B,C,
- * 则根据A生成的{@link HierarchicalAnnotatedElements}实例将同时包含A,B,C,
+ * 则根据A生成的{@code HierarchicalAnnotatedElements}实例将同时包含A,B,C,
* 该实例同时支持对这三个实例上直接声明的注解,以及这些注解的元注解进行访问。
*
*
注解搜索范围 @@ -32,7 +32,7 @@ import java.util.stream.Stream; *
final
修饰的方法时,
+ * 若是方法,且不是静态/私有/被{@code final}修饰的方法时,
* 则额外获取包括其声明类的所有父类和所有父接口中,与该方法具有相同方法签名的方法上的注解和元注解;
* Comparator.nullsLast(CompareUtil.natural())
Comparator.nullsFirst(CompareUtil.natural())
Comparator.nullsLast(CompareUtil.naturalReverse())
Comparator.nullsFirst(CompareUtil.naturalReverse())
int[] objs = new int[]{3, 2, 1, 4, 5,6};
+ * @param objs 参与排序的数组,数组的元素位置决定了对象的排序先后, 示例:{@code int[] objs = new int[]{3, 2, 1, 4, 5,6};}
* @param /dev/null
.
+ * 什么也不做,写出到{@code /dev/null}.
*
* @param b 写出的数据
* @param off 开始位置
@@ -30,7 +30,7 @@ public class NullOutputStream extends OutputStream {
}
/**
- * 什么也不做,写出到 /dev/null
.
+ * 什么也不做,写出到 {@code /dev/null}.
*
* @param b 写出的数据
*/
@@ -40,7 +40,7 @@ public class NullOutputStream extends OutputStream {
}
/**
- * 什么也不做,写出到 /dev/null
.
+ * 什么也不做,写出到 {@code /dev/null}.
*
* @param b 写出的数据
* @throws IOException 不抛出
diff --git a/hutool-core/src/main/java/cn/hutool/core/io/watch/WatchMonitor.java b/hutool-core/src/main/java/cn/hutool/core/io/watch/WatchMonitor.java
index a9282531c..288d7b6d3 100644
--- a/hutool-core/src/main/java/cn/hutool/core/io/watch/WatchMonitor.java
+++ b/hutool-core/src/main/java/cn/hutool/core/io/watch/WatchMonitor.java
@@ -5,6 +5,7 @@ import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.io.watch.watchers.WatcherChain;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.net.URLUtil;
+import cn.hutool.core.util.CharUtil;
import java.io.File;
import java.io.IOException;
@@ -322,7 +323,7 @@ public class WatchMonitor extends WatchServer {
if (null != lastPathEle) {
final String lastPathEleStr = lastPathEle.toString();
//带有点表示有扩展名,按照未创建的文件对待。Linux下.d的为目录,排除之
- if (StrUtil.contains(lastPathEleStr, StrUtil.C_DOT) && false == StrUtil.endWithIgnoreCase(lastPathEleStr, ".d")) {
+ if (StrUtil.contains(lastPathEleStr, CharUtil.DOT) && false == StrUtil.endWithIgnoreCase(lastPathEleStr, ".d")) {
this.filePath = this.path;
this.path = this.filePath.getParent();
}
diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/ansi/Ansi8BitColor.java b/hutool-core/src/main/java/cn/hutool/core/lang/ansi/Ansi8BitColor.java
index e420b6c12..af1a50828 100755
--- a/hutool-core/src/main/java/cn/hutool/core/lang/ansi/Ansi8BitColor.java
+++ b/hutool-core/src/main/java/cn/hutool/core/lang/ansi/Ansi8BitColor.java
@@ -30,7 +30,7 @@ public class Ansi8BitColor implements AnsiElement {
* @param code 颜色代码(0-255)
* @return 前景色ANSI颜色实例
*/
- public static Ansi8BitColor foreground(int code) {
+ public static Ansi8BitColor foreground(final int code) {
return new Ansi8BitColor(PREFIX_FORE, code);
}
@@ -40,7 +40,7 @@ public class Ansi8BitColor implements AnsiElement {
* @param code 颜色代码(0-255)
* @return 背景色ANSI颜色实例
*/
- public static Ansi8BitColor background(int code) {
+ public static Ansi8BitColor background(final int code) {
return new Ansi8BitColor(PREFIX_BACK, code);
}
@@ -52,9 +52,9 @@ public class Ansi8BitColor implements AnsiElement {
*
* @param prefix 前缀
* @param code 颜色代码(0-255)
- * @throws IllegalArgumentException 颜色代码不在0~255范围内
+ * @throws IllegalArgumentException 颜色代码不在 0~255 范围内
*/
- private Ansi8BitColor(String prefix, int code) {
+ private Ansi8BitColor(final String prefix, final int code) {
Assert.isTrue(code >= 0 && code <= 255, "Code must be between 0 and 255");
this.prefix = prefix;
this.code = code;
@@ -95,14 +95,14 @@ public class Ansi8BitColor implements AnsiElement {
}
@Override
- public boolean equals(Object obj) {
+ public boolean equals(final Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
- Ansi8BitColor other = (Ansi8BitColor) obj;
+ final Ansi8BitColor other = (Ansi8BitColor) obj;
return ObjUtil.equals(this.prefix, other.prefix) && this.code == other.code;
}
diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/func/SerRunnable.java b/hutool-core/src/main/java/cn/hutool/core/lang/func/SerRunnable.java
index f9c3f9ed9..79a123509 100644
--- a/hutool-core/src/main/java/cn/hutool/core/lang/func/SerRunnable.java
+++ b/hutool-core/src/main/java/cn/hutool/core/lang/func/SerRunnable.java
@@ -16,12 +16,12 @@ import java.util.stream.Stream;
public interface SerRunnable extends Runnable, Serializable {
/**
- * When an object implementing interface Runnable
is used
+ * When an object implementing interface {@code Runnable} is used
* to create a thread, starting the thread causes the object's
- * run
method to be called in that separately executing
+ * {@code run} method to be called in that separately executing
* thread.
*
- * The general contract of the method run
is that it may
+ * The general contract of the method {@code run} is that it may
* take any action whatsoever.
*
* @throws Exception wrapped checked exceptions
@@ -30,12 +30,12 @@ public interface SerRunnable extends Runnable, Serializable {
void running() throws Exception;
/**
- * When an object implementing interface Runnable
is used
+ * When an object implementing interface {@code Runnable} is used
* to create a thread, starting the thread causes the object's
- * run
method to be called in that separately executing
+ * {@code run} method to be called in that separately executing
* thread.
*
- * The general contract of the method
- * emoji-java文档以及别名列表见:https://github.com/vdurmont/emoji-java
+ * emoji-java文档以及别名列表见:...
*
* @author looly
* @since 4.2.1
@@ -65,9 +65,9 @@ public class EmojiUtil {
* 例如:
*
*
- * 例如:
* {@link FitzpatrickAction}参数被设置为{@link FitzpatrickAction#PARSE},则别名后会增加"|"并追加fitzpatrick类型
*
- * 例如:
* {@link FitzpatrickAction}参数被设置为{@link FitzpatrickAction#REMOVE},则别名后的"|"和类型将被去除
*
- * 例如:
* {@link FitzpatrickAction}参数被设置为{@link FitzpatrickAction#IGNORE},则别名后的类型将被忽略
*
- * 例如:
- * 例如:
- * 例如:
- * 例如:run
is that it may
+ * The general contract of the method {@code run} is that it may
* take any action whatsoever.
*
* @see Thread#run()
diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/mutable/MutableInt.java b/hutool-core/src/main/java/cn/hutool/core/lang/mutable/MutableInt.java
index 9cb300af5..7c1c773c8 100644
--- a/hutool-core/src/main/java/cn/hutool/core/lang/mutable/MutableInt.java
+++ b/hutool-core/src/main/java/cn/hutool/core/lang/mutable/MutableInt.java
@@ -3,7 +3,7 @@ package cn.hutool.core.lang.mutable;
import cn.hutool.core.comparator.CompareUtil;
/**
- * 可变 int
类型
+ * 可变 {@code int} 类型
*
* @see Integer
* @since 3.0.1
diff --git a/hutool-core/src/main/java/cn/hutool/core/reflect/ClassUtil.java b/hutool-core/src/main/java/cn/hutool/core/reflect/ClassUtil.java
index a86c2b986..39e1d8baf 100644
--- a/hutool-core/src/main/java/cn/hutool/core/reflect/ClassUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/reflect/ClassUtil.java
@@ -544,7 +544,7 @@ public class ClassUtil {
* @return 包名
*/
public static String getPackagePath(final Class> clazz) {
- return getPackage(clazz).replace(StrUtil.C_DOT, StrUtil.C_SLASH);
+ return getPackage(clazz).replace(CharUtil.DOT, CharUtil.SLASH);
}
/**
diff --git a/hutool-core/src/main/java/cn/hutool/core/stream/AbstractEnhancedWrappedStream.java b/hutool-core/src/main/java/cn/hutool/core/stream/AbstractEnhancedWrappedStream.java
index 687d47ea8..122b7b9c9 100644
--- a/hutool-core/src/main/java/cn/hutool/core/stream/AbstractEnhancedWrappedStream.java
+++ b/hutool-core/src/main/java/cn/hutool/core/stream/AbstractEnhancedWrappedStream.java
@@ -17,7 +17,7 @@ public abstract class AbstractEnhancedWrappedStream'{'
- */
- char C_DELIM_START = CharPool.DELIM_START;
-
- /**
- * 字符常量:花括号(右) '}'
- */
- char C_DELIM_END = CharPool.DELIM_END;
-
- /**
- * 字符常量:中括号(左) {@code '['}
- */
- char C_BRACKET_START = CharPool.BRACKET_START;
-
- /**
- * 字符常量:中括号(右) {@code ']'}
- */
- char C_BRACKET_END = CharPool.BRACKET_END;
-
- /**
- * 字符常量:冒号 {@code ':'}
- */
- char C_COLON = CharPool.COLON;
-
- /**
- * 字符常量:艾特 {@code '@'}
- */
- char C_AT = CharPool.AT;
-
/**
* 字符串常量:制表符 {@code "\t"}
*/
@@ -174,37 +96,6 @@ public interface StrPool {
*/
String AT = "@";
-
- /**
- * 字符串常量:HTML 空格转义 {@code " " -> " "}
- */
- String HTML_NBSP = XmlUtil.NBSP;
-
- /**
- * 字符串常量:HTML And 符转义 {@code "&" -> "&"}
- */
- String HTML_AMP = XmlUtil.AMP;
-
- /**
- * 字符串常量:HTML 双引号转义 {@code """ -> "\""}
- */
- String HTML_QUOTE = XmlUtil.QUOTE;
-
- /**
- * 字符串常量:HTML 单引号转义 {@code "&apos" -> "'"}
- */
- String HTML_APOS = XmlUtil.APOS;
-
- /**
- * 字符串常量:HTML 小于号转义 {@code "<" -> "<"}
- */
- String HTML_LT = XmlUtil.LT;
-
- /**
- * 字符串常量:HTML 大于号转义 {@code ">" -> ">"}
- */
- String HTML_GT = XmlUtil.GT;
-
/**
* 字符串常量:空 JSON {@code "{}"}
*/
diff --git a/hutool-core/src/main/java/cn/hutool/core/text/dfa/SensitiveUtil.java b/hutool-core/src/main/java/cn/hutool/core/text/dfa/SensitiveUtil.java
index 499308021..07e1cb64e 100755
--- a/hutool-core/src/main/java/cn/hutool/core/text/dfa/SensitiveUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/text/dfa/SensitiveUtil.java
@@ -3,6 +3,7 @@ package cn.hutool.core.text.dfa;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.text.StrUtil;
+import cn.hutool.core.util.CharUtil;
import java.util.Collection;
import java.util.HashMap;
@@ -17,7 +18,7 @@ import java.util.function.Predicate;
*/
public final class SensitiveUtil {
- public static final char DEFAULT_SEPARATOR = StrUtil.C_COMMA;
+ public static final char DEFAULT_SEPARATOR = CharUtil.COMMA;
private static final WordTree sensitiveTree = new WordTree();
/**
diff --git a/hutool-core/src/main/java/cn/hutool/core/text/split/SplitUtil.java b/hutool-core/src/main/java/cn/hutool/core/text/split/SplitUtil.java
index e385f1f9a..6a16f86de 100644
--- a/hutool-core/src/main/java/cn/hutool/core/text/split/SplitUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/text/split/SplitUtil.java
@@ -54,7 +54,7 @@ public class SplitUtil {
* @since 3.0.8
*/
public static List
* 此方法会匹配单一对象,如果此对象为{@code null}则返回true
* 如果此对象为非数组,理解为此对象为数组的第一个元素,则返回false
- * 如果此对象为数组对象,数组长度大于0情况下返回false,否则返回true
+ * 如果此对象为数组对象,数组长度大于0的情况下返回false,否则返回true
*
* @param array 数组
* @return 是否为空
diff --git a/hutool-core/src/main/java/cn/hutool/core/util/IdcardUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/IdcardUtil.java
index 497e26b24..45cdb8451 100755
--- a/hutool-core/src/main/java/cn/hutool/core/util/IdcardUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/util/IdcardUtil.java
@@ -708,7 +708,7 @@ public class IdcardUtil {
case 0:
return '1';
default:
- return StrUtil.C_SPACE;
+ return CharUtil.SPACE;
}
}
diff --git a/hutool-core/src/test/java/cn/hutool/core/date/ZodiacTest.java b/hutool-core/src/test/java/cn/hutool/core/date/ZodiacTest.java
index bbe1eac5c..07479928e 100644
--- a/hutool-core/src/test/java/cn/hutool/core/date/ZodiacTest.java
+++ b/hutool-core/src/test/java/cn/hutool/core/date/ZodiacTest.java
@@ -4,7 +4,6 @@ import org.junit.Assert;
import org.junit.Test;
import java.util.Calendar;
-import java.util.Date;
public class ZodiacTest {
@@ -13,7 +12,7 @@ public class ZodiacTest {
Assert.assertEquals("摩羯座", Zodiac.getZodiac(Month.JANUARY, 19));
Assert.assertEquals("水瓶座", Zodiac.getZodiac(Month.JANUARY, 20));
Assert.assertEquals("巨蟹座", Zodiac.getZodiac(6, 17));
- Calendar calendar = Calendar.getInstance();
+ final Calendar calendar = Calendar.getInstance();
calendar.set(2022, Calendar.JULY, 17);
Assert.assertEquals("巨蟹座", Zodiac.getZodiac(calendar.getTime()));
Assert.assertEquals("巨蟹座", Zodiac.getZodiac(calendar));
@@ -25,7 +24,7 @@ public class ZodiacTest {
Assert.assertEquals("狗", Zodiac.getChineseZodiac(1994));
Assert.assertEquals("狗", Zodiac.getChineseZodiac(2018));
Assert.assertEquals("猪", Zodiac.getChineseZodiac(2019));
- Calendar calendar = Calendar.getInstance();
+ final Calendar calendar = Calendar.getInstance();
calendar.set(2022, Calendar.JULY, 17);
Assert.assertEquals("虎", Zodiac.getChineseZodiac(calendar.getTime()));
Assert.assertEquals("虎", Zodiac.getChineseZodiac(calendar));
diff --git a/hutool-core/src/test/java/cn/hutool/core/reflect/ReflectUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/reflect/ReflectUtilTest.java
index 60d2bdbb8..d60e5379d 100644
--- a/hutool-core/src/test/java/cn/hutool/core/reflect/ReflectUtilTest.java
+++ b/hutool-core/src/test/java/cn/hutool/core/reflect/ReflectUtilTest.java
@@ -6,7 +6,6 @@ import lombok.SneakyThrows;
import org.junit.Test;
import java.util.Arrays;
-import java.util.Collection;
/**
* 反射工具类单元测试
diff --git a/hutool-core/src/test/java/cn/hutool/core/util/ObjUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/util/ObjUtilTest.java
index d72c36c65..cb6a25aa1 100644
--- a/hutool-core/src/test/java/cn/hutool/core/util/ObjUtilTest.java
+++ b/hutool-core/src/test/java/cn/hutool/core/util/ObjUtilTest.java
@@ -70,18 +70,20 @@ public class ObjUtilTest {
Assert.assertTrue(ObjUtil.contains(new int[]{1,2,3,4,5}, 1));
Assert.assertFalse(ObjUtil.contains(null, 1));
Assert.assertTrue(ObjUtil.contains("123", "3"));
- Map
- *
*
* @param str 包含Emoji别名或者HTML表现形式的字符串
@@ -80,22 +80,22 @@ public class EmojiUtil {
/**
* 将字符串中的Unicode Emoji字符转换为别名表现形式(两个":"包围的格式)
* :smile:
替换为 😄
- * 😄
替换为 😄
- * :boy|type_6:
替换为 👦🏿
+ * {@code :smile:} 替换为 {@code 😄}
+ * {@code 😄} 替换为 {@code 😄}
+ * {@code :boy|type_6:} 替换为 {@code 👦🏿}
* 😄
转换为 :smile:
+ * 例如: {@code 😄} 转换为 {@code :smile:}
*
* 👦🏿
转换为 :boy|type_6:
+ * 例如:{@code 👦🏿} 转换为 {@code :boy|type_6:}
*
* 👦🏿
转换为 :boy:
+ * 例如:{@code 👦🏿} 转换为 {@code :boy:}
*
* 👦🏿
转换为 :boy:🏿
+ * 例如:{@code 👦🏿} 转换为 {@code :boy:🏿}
*
* @param str 包含Emoji Unicode字符的字符串
* @return 替换后的字符串
@@ -107,7 +107,7 @@ public class EmojiUtil {
/**
* 将字符串中的Unicode Emoji字符转换为别名表现形式(两个":"包围的格式),别名后会增加"|"并追加fitzpatrick类型
* 👦🏿
转换为 :boy|type_6:
+ * 例如:{@code 👦🏿} 转换为 {@code :boy|type_6:}
*
* @param str 包含Emoji Unicode字符的字符串
* @param fitzpatrickAction {@link FitzpatrickAction}
@@ -120,7 +120,7 @@ public class EmojiUtil {
/**
* 将字符串中的Unicode Emoji字符转换为HTML 16进制表现形式
* 👦🏿
转换为 👦
+ * 例如:{@code 👦🏿} 转换为 {@code 👦}
*
* @param str 包含Emoji Unicode字符的字符串
* @return 替换后的字符串
@@ -132,7 +132,7 @@ public class EmojiUtil {
/**
* 将字符串中的Unicode Emoji字符转换为HTML表现形式(Hex方式)
* 👦🏿
转换为 👦
+ * 例如:{@code 👦🏿} 转换为 {@code 👦}
*
* @param str 包含Emoji Unicode字符的字符串
* @return 替换后的字符串
@@ -144,8 +144,8 @@ public class EmojiUtil {
/**
* 将字符串中的Unicode Emoji字符转换为HTML表现形式,例如:
*
- * 如果为hex形式,
*
* @param str 包含Emoji Unicode字符的字符串
diff --git a/hutool-extra/src/main/java/cn/hutool/extra/ssh/JschUtil.java b/hutool-extra/src/main/java/cn/hutool/extra/ssh/JschUtil.java
index d053c0b2a..1421077fc 100644
--- a/hutool-extra/src/main/java/cn/hutool/extra/ssh/JschUtil.java
+++ b/hutool-extra/src/main/java/cn/hutool/extra/ssh/JschUtil.java
@@ -296,15 +296,13 @@ public class JschUtil {
*
* @param session 需要解除端口映射的SSH会话
* @param localPort 需要解除的本地端口
- * @return 解除成功与否
*/
- public static boolean unBindPort(final Session session, final int localPort) {
+ public static void unBindPort(final Session session, final int localPort) {
try {
session.delPortForwardingL(localPort);
} catch (final JSchException e) {
throw new JschRuntimeException(e);
}
- return true;
}
/**
diff --git a/hutool-extra/src/test/java/cn/hutool/extra/management/OshiTest.java b/hutool-extra/src/test/java/cn/hutool/extra/management/OshiTest.java
index c028c8166..ce1fec97b 100644
--- a/hutool-extra/src/test/java/cn/hutool/extra/management/OshiTest.java
+++ b/hutool-extra/src/test/java/cn/hutool/extra/management/OshiTest.java
@@ -34,8 +34,10 @@ public class OshiTest {
@Test
@Ignore
public void getUsedTest() {
- while (true) {
+ int i = 0;
+ while (i < 1000) {
Console.log(OshiUtil.getCpuInfo().getUsed());
+ i++;
}
}
}
diff --git a/hutool-http/src/main/java/cn/hutool/http/HtmlUtil.java b/hutool-http/src/main/java/cn/hutool/http/HtmlUtil.java
index 21ad44145..2ebbe8cd5 100755
--- a/hutool-http/src/main/java/cn/hutool/http/HtmlUtil.java
+++ b/hutool-http/src/main/java/cn/hutool/http/HtmlUtil.java
@@ -1,8 +1,9 @@
package cn.hutool.http;
-import cn.hutool.core.text.escape.EscapeUtil;
import cn.hutool.core.regex.ReUtil;
import cn.hutool.core.text.StrUtil;
+import cn.hutool.core.text.escape.EscapeUtil;
+import cn.hutool.core.util.XmlUtil;
/**
* HTML工具类
@@ -16,14 +17,7 @@ import cn.hutool.core.text.StrUtil;
*/
public class HtmlUtil {
- public static final String NBSP = StrUtil.HTML_NBSP;
- public static final String AMP = StrUtil.HTML_AMP;
- public static final String QUOTE = StrUtil.HTML_QUOTE;
- public static final String APOS = StrUtil.HTML_APOS;
- public static final String LT = StrUtil.HTML_LT;
- public static final String GT = StrUtil.HTML_GT;
-
- public static final String RE_HTML_MARK = "(<[^<]*?>)|(<[\\s]*?/[^<]*?>)|(<[^<]*?/[\\s]*?>)";
+ public static final String RE_HTML_MARK = "(<[^<]*?>)|(<\\s*?/[^<]*?>)|(<[^<]*?/\\s*?>)";
public static final String RE_SCRIPT = "<[\\s]*?script[^>]*?>.*?<[\\s]*?\\/[\\s]*?script[\\s]*?>";
private static final char[][] TEXT = new char[64][];
@@ -35,10 +29,10 @@ public class HtmlUtil {
// special HTML characters
TEXT['\''] = "'".toCharArray(); // 单引号 (''' doesn't work - it is not by the w3 specs)
- TEXT['"'] = QUOTE.toCharArray(); // 单引号
- TEXT['&'] = AMP.toCharArray(); // &符
- TEXT['<'] = LT.toCharArray(); // 小于号
- TEXT['>'] = GT.toCharArray(); // 大于号
+ TEXT['"'] = XmlUtil.QUOTE.toCharArray(); // 单引号
+ TEXT['&'] = XmlUtil.AMP.toCharArray(); // &符
+ TEXT['<'] = XmlUtil.LT.toCharArray(); // 小于号
+ TEXT['>'] = XmlUtil.GT.toCharArray(); // 大于号
}
/**
diff --git a/hutool-http/src/main/java/cn/hutool/http/useragent/Engine.java b/hutool-http/src/main/java/cn/hutool/http/useragent/Engine.java
index 2317bd461..a5053626c 100755
--- a/hutool-http/src/main/java/cn/hutool/http/useragent/Engine.java
+++ b/hutool-http/src/main/java/cn/hutool/http/useragent/Engine.java
@@ -43,7 +43,7 @@ public class Engine extends UserAgentInfo {
*/
public Engine(final String name, final String regex) {
super(name, regex);
- this.versionPattern = Pattern.compile(name + "[/\\- ]([\\d\\w.\\-]+)", Pattern.CASE_INSENSITIVE);
+ this.versionPattern = Pattern.compile(name + "[/\\- ]([\\w.\\-]+)", Pattern.CASE_INSENSITIVE);
}
/**
diff --git a/hutool-json/src/main/java/cn/hutool/json/InternalJSONUtil.java b/hutool-json/src/main/java/cn/hutool/json/InternalJSONUtil.java
index b247e08df..c39fff3b6 100755
--- a/hutool-json/src/main/java/cn/hutool/json/InternalJSONUtil.java
+++ b/hutool-json/src/main/java/cn/hutool/json/InternalJSONUtil.java
@@ -432,7 +432,7 @@ public final class InternalJSONUtil {
case '\r':
return "\\r";
default:
- if (c < StrUtil.C_SPACE || //
+ if (c < CharUtil.SPACE || //
(c >= '\u0080' && c <= '\u00a0') || //
(c >= '\u2000' && c <= '\u2010') || //
(c >= '\u2028' && c <= '\u202F') || //
diff --git a/hutool-json/src/main/java/cn/hutool/json/JSONStrFormatter.java b/hutool-json/src/main/java/cn/hutool/json/JSONStrFormatter.java
index b9f33dbaa..412f23578 100644
--- a/hutool-json/src/main/java/cn/hutool/json/JSONStrFormatter.java
+++ b/hutool-json/src/main/java/cn/hutool/json/JSONStrFormatter.java
@@ -19,7 +19,7 @@ public class JSONStrFormatter {
/**
* 换行符
*/
- private static final char NEW_LINE = StrUtil.C_LF;
+ private static final char NEW_LINE = CharUtil.LF;
/**
* 返回格式化JSON字符串。
diff --git a/hutool-poi/src/main/java/cn/hutool/poi/excel/cell/values/NumericCellValue.java b/hutool-poi/src/main/java/cn/hutool/poi/excel/cell/values/NumericCellValue.java
index 0651b5dfb..ccab77866 100755
--- a/hutool-poi/src/main/java/cn/hutool/poi/excel/cell/values/NumericCellValue.java
+++ b/hutool-poi/src/main/java/cn/hutool/poi/excel/cell/values/NumericCellValue.java
@@ -1,14 +1,15 @@
package cn.hutool.poi.excel.cell.values;
import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.text.StrUtil;
+import cn.hutool.core.util.CharUtil;
import cn.hutool.poi.excel.ExcelDateUtil;
import cn.hutool.poi.excel.cell.CellValue;
-import java.util.Date;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.util.NumberToTextConverter;
+import java.util.Date;
+
/**
* 数字类型单元格值👦🏿
转换为 👦
- * 否则,👦🏿
转换为 👦
+ * 如果为hex形式,{@code 👦🏿} 转换为 {@code 👦}
+ * 否则,{@code 👦🏿} 转换为 {@code 👦}
*
* 单元格值可能为Long、Double、Date
@@ -48,7 +49,7 @@ public class NumericCellValue implements CellValue