* compare(null, "v1") < 0
* compare("v1", "v1") = 0
diff --git a/hutool-core/src/main/java/cn/hutool/core/date/DateModifier.java b/hutool-core/src/main/java/cn/hutool/core/date/DateModifier.java
index 066fd5475..5ae2d1034 100644
--- a/hutool-core/src/main/java/cn/hutool/core/date/DateModifier.java
+++ b/hutool-core/src/main/java/cn/hutool/core/date/DateModifier.java
@@ -33,7 +33,7 @@ public class DateModifier {
* 修改日期
*
* @param calendar {@link Calendar}
- * @param dateField 日期字段,既保留到哪个日期字段
+ * @param dateField 日期字段,即保留到哪个日期字段
* @param modifyType 修改类型,包括舍去、四舍五入、进一等
* @return 修改后的{@link Calendar}
*/
diff --git a/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java b/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java
index 1786f96df..3f163046f 100644
--- a/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java
@@ -908,7 +908,7 @@ public class DateUtil {
}
/**
- * 获取秒级别的开始时间,既忽略毫秒部分
+ * 获取秒级别的开始时间,即忽略毫秒部分
*
* @param date 日期
* @return {@link DateTime}
@@ -919,7 +919,7 @@ public class DateUtil {
}
/**
- * 获取秒级别的结束时间,既毫秒设置为999
+ * 获取秒级别的结束时间,即毫秒设置为999
*
* @param date 日期
* @return {@link DateTime}
@@ -930,7 +930,7 @@ public class DateUtil {
}
/**
- * 获取秒级别的开始时间,既忽略毫秒部分
+ * 获取秒级别的开始时间,即忽略毫秒部分
*
* @param calendar 日期 {@link Calendar}
* @return {@link Calendar}
@@ -941,7 +941,7 @@ public class DateUtil {
}
/**
- * 获取秒级别的结束时间,既毫秒设置为999
+ * 获取秒级别的结束时间,即毫秒设置为999
*
* @param calendar 日期 {@link Calendar}
* @return {@link Calendar}
diff --git a/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java b/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java
index 284ca7d74..546e707c8 100644
--- a/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java
@@ -1582,7 +1582,7 @@ public class FileUtil {
String element;
for (int i = pathList.size() - 1; i >= 0; i--) {
element = pathList.get(i);
- // 只处理非.的目录,既只处理非当前目录
+ // 只处理非.的目录,即只处理非当前目录
if (false == StrUtil.DOT.equals(element)) {
if (StrUtil.DOUBLE_DOT.equals(element)) {
tops++;
diff --git a/hutool-core/src/main/java/cn/hutool/core/io/NullOutputStream.java b/hutool-core/src/main/java/cn/hutool/core/io/NullOutputStream.java
index d6a0a27f5..266ea085a 100644
--- a/hutool-core/src/main/java/cn/hutool/core/io/NullOutputStream.java
+++ b/hutool-core/src/main/java/cn/hutool/core/io/NullOutputStream.java
@@ -4,7 +4,7 @@ import java.io.IOException;
import java.io.OutputStream;
/**
- * 此OutputStream写出数据到/dev/null,既忽略所有数据
+ * 此OutputStream写出数据到/dev/null,即忽略所有数据
* 来自 Apache Commons io
*
* @author looly
diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/Assert.java b/hutool-core/src/main/java/cn/hutool/core/lang/Assert.java
index 6b9f828fd..a51f36042 100644
--- a/hutool-core/src/main/java/cn/hutool/core/lang/Assert.java
+++ b/hutool-core/src/main/java/cn/hutool/core/lang/Assert.java
@@ -226,7 +226,7 @@ public class Assert {
}
/**
- * 断言给定字符串是否不被另一个字符串包含(既是否为子串)
+ * 断言给定字符串是否不被另一个字符串包含(即是否为子串)
*
*
* Assert.doesNotContain(name, "rod", "Name must not contain 'rod'");
@@ -247,7 +247,7 @@ public class Assert {
}
/**
- * 断言给定字符串是否不被另一个字符串包含(既是否为子串)
+ * 断言给定字符串是否不被另一个字符串包含(即是否为子串)
*
*
* Assert.doesNotContain(name, "rod", "Name must not contain 'rod'");
diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/Range.java b/hutool-core/src/main/java/cn/hutool/core/lang/Range.java
index 778d21947..241ab6143 100644
--- a/hutool-core/src/main/java/cn/hutool/core/lang/Range.java
+++ b/hutool-core/src/main/java/cn/hutool/core/lang/Range.java
@@ -187,7 +187,7 @@ public class Range implements Iterable, Iterator, Serializable {
* 步进接口可以定义以下逻辑:
*
*
- * 1、步进规则,既对象如何做步进
+ * 1、步进规则,即对象如何做步进
* 2、步进大小,通过实现此接口,在实现类中定义一个对象属性,可灵活定义步进大小
* 3、限制range个数,通过实现此接口,在实现类中定义一个对象属性,可灵活定义limit,限制range个数
*
diff --git a/hutool-core/src/main/java/cn/hutool/core/text/escape/InternalEscapeUtil.java b/hutool-core/src/main/java/cn/hutool/core/text/escape/InternalEscapeUtil.java
index 4de32aa3c..e0b9344db 100644
--- a/hutool-core/src/main/java/cn/hutool/core/text/escape/InternalEscapeUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/text/escape/InternalEscapeUtil.java
@@ -8,7 +8,7 @@ package cn.hutool.core.text.escape;
class InternalEscapeUtil {
/**
- * 将数组中的0和1位置的值互换,既键值转换
+ * 将数组中的0和1位置的值互换,即键值转换
*
* @param array String[][] 被转换的数组
* @return String[][] 转换后的数组
diff --git a/hutool-core/src/main/java/cn/hutool/core/thread/ExecutorBuilder.java b/hutool-core/src/main/java/cn/hutool/core/thread/ExecutorBuilder.java
index 1ef7865bd..054002458 100644
--- a/hutool-core/src/main/java/cn/hutool/core/thread/ExecutorBuilder.java
+++ b/hutool-core/src/main/java/cn/hutool/core/thread/ExecutorBuilder.java
@@ -25,13 +25,13 @@ public class ExecutorBuilder implements Builder {
private int corePoolSize;
/** 最大池大小(允许同时执行的最大线程数) */
private int maxPoolSize = Integer.MAX_VALUE;
- /** 线程存活时间,既当池中线程多于初始大小时,多出的线程保留的时长 */
+ /** 线程存活时间,即当池中线程多于初始大小时,多出的线程保留的时长 */
private long keepAliveTime = TimeUnit.SECONDS.toNanos(60);
/** 队列,用于存在未执行的线程 */
private BlockingQueue workQueue;
/** 线程工厂,用于自定义线程创建 */
private ThreadFactory threadFactory;
- /** 当线程阻塞(block)时的异常处理器,所谓线程阻塞既线程池和等待队列已满,无法处理线程时采取的策略 */
+ /** 当线程阻塞(block)时的异常处理器,所谓线程阻塞即线程池和等待队列已满,无法处理线程时采取的策略 */
private RejectedExecutionHandler handler;
/** 线程执行超时后是否回收线程 */
private Boolean allowCoreThreadTimeOut;
@@ -59,7 +59,7 @@ public class ExecutorBuilder implements Builder {
}
/**
- * 设置线程存活时间,既当池中线程多于初始大小时,多出的线程保留的时长
+ * 设置线程存活时间,即当池中线程多于初始大小时,多出的线程保留的时长
*
* @param keepAliveTime 线程存活时间
* @param unit 单位
@@ -70,7 +70,7 @@ public class ExecutorBuilder implements Builder {
}
/**
- * 设置线程存活时间,既当池中线程多于初始大小时,多出的线程保留的时长,单位纳秒
+ * 设置线程存活时间,即当池中线程多于初始大小时,多出的线程保留的时长,单位纳秒
*
* @param keepAliveTime 线程存活时间,单位纳秒
* @return this
@@ -134,7 +134,7 @@ public class ExecutorBuilder implements Builder {
}
/**
- * 设置当线程阻塞(block)时的异常处理器,所谓线程阻塞既线程池和等待队列已满,无法处理线程时采取的策略
+ * 设置当线程阻塞(block)时的异常处理器,所谓线程阻塞即线程池和等待队列已满,无法处理线程时采取的策略
*
* 此处可以使用JDK预定义的几种策略,见{@link RejectPolicy}枚举
*
diff --git a/hutool-core/src/main/java/cn/hutool/core/thread/GlobalThreadPool.java b/hutool-core/src/main/java/cn/hutool/core/thread/GlobalThreadPool.java
index fb2d096c9..c887bc56e 100644
--- a/hutool-core/src/main/java/cn/hutool/core/thread/GlobalThreadPool.java
+++ b/hutool-core/src/main/java/cn/hutool/core/thread/GlobalThreadPool.java
@@ -8,7 +8,7 @@ import cn.hutool.core.exceptions.UtilException;
/**
* 全局公共线程池
- * 此线程池是一个无限线程池,既加入的线程不等待任何线程,直接执行
+ * 此线程池是一个无限线程池,即加入的线程不等待任何线程,直接执行
*
* @author Looly
*
diff --git a/hutool-core/src/main/java/cn/hutool/core/util/ClassUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/ClassUtil.java
index 9cda8f98f..5e9a5d14b 100644
--- a/hutool-core/src/main/java/cn/hutool/core/util/ClassUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/util/ClassUtil.java
@@ -57,7 +57,7 @@ public class ClassUtil {
}
/**
- * 是否为顶层类,既定义在包中的类,而非定义在类中的内部类
+ * 是否为顶层类,即定义在包中的类,而非定义在类中的内部类
*
* @param clazz 类
* @return 是否为顶层类
@@ -924,7 +924,7 @@ public class ClassUtil {
* 获得给定类的泛型参数
*
* @param clazz 被检查的类,必须是已经确定泛型类型的类
- * @param index 泛型类型的索引号,既第几个泛型类型
+ * @param index 泛型类型的索引号,即第几个泛型类型
* @return {@link Class}
*/
public static Class> getTypeArgument(Class> clazz, int index) {
diff --git a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java
index 0c9ed58c1..75f1d6a21 100644
--- a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java
@@ -1654,7 +1654,7 @@ public class NumberUtil {
/**
* 比较大小,值相等 返回true
* 此方法通过调用{@link BigDecimal#compareTo(BigDecimal)}方法来判断是否相等
- * 此方法判断值相等时忽略精度的,既0.00 == 0
+ * 此方法判断值相等时忽略精度的,即0.00 == 0
*
* @param bigNum1 数字1
* @param bigNum2 数字2
diff --git a/hutool-core/src/main/java/cn/hutool/core/util/ObjectUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/ObjectUtil.java
index 6c758b223..ced85ad02 100644
--- a/hutool-core/src/main/java/cn/hutool/core/util/ObjectUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/util/ObjectUtil.java
@@ -471,7 +471,7 @@ public class ObjectUtil {
* 获得给定类的第一个泛型参数
*
* @param obj 被检查的对象
- * @param index 泛型类型的索引号,既第几个泛型类型
+ * @param index 泛型类型的索引号,即第几个泛型类型
* @return {@link Class}
* @since 3.0.8
*/
diff --git a/hutool-core/src/main/java/cn/hutool/core/util/StrUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/StrUtil.java
index 2a9685628..d0d192b2f 100644
--- a/hutool-core/src/main/java/cn/hutool/core/util/StrUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/util/StrUtil.java
@@ -3271,7 +3271,7 @@ public class StrUtil {
/**
* 比较两个版本
- * null版本排在最小:既:
+ * null版本排在最小:即:
*
*
* StrUtil.compareVersion(null, "v1") < 0
@@ -4031,7 +4031,7 @@ public class StrUtil {
/**
* 循环位移指定位置的字符串为指定距离
* 当moveLength大于0向右位移,小于0向左位移,0不位移
- * 当moveLength大于字符串长度时采取循环位移策略,既位移到头后从头(尾)位移,例如长度为10,位移13则表示位移3
+ * 当moveLength大于字符串长度时采取循环位移策略,即位移到头后从头(尾)位移,例如长度为10,位移13则表示位移3
*
* @param str 字符串
* @param startInclude 起始位置(包括)
diff --git a/hutool-core/src/main/java/cn/hutool/core/util/TypeUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/TypeUtil.java
index 0fdcffbe3..62dbaa79d 100644
--- a/hutool-core/src/main/java/cn/hutool/core/util/TypeUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/util/TypeUtil.java
@@ -203,7 +203,7 @@ public class TypeUtil {
* 获得给定类的泛型参数
*
* @param type 被检查的类型,必须是已经确定泛型类型的类
- * @param index 泛型类型的索引号,既第几个泛型类型
+ * @param index 泛型类型的索引号,即第几个泛型类型
* @return {@link Type}
*/
public static Type getTypeArgument(Type type, int index) {
diff --git a/hutool-core/src/main/java/cn/hutool/core/util/XmlUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/XmlUtil.java
index eae3bb044..35abc1c01 100644
--- a/hutool-core/src/main/java/cn/hutool/core/util/XmlUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/util/XmlUtil.java
@@ -368,7 +368,7 @@ public class XmlUtil {
// -------------------------------------------------------------------------------------- Create
/**
* 创建XML文档
- * 创建的XML默认是utf8编码,修改编码的过程是在toStr和toFile方法里,既XML在转为文本的时候才定义编码
+ * 创建的XML默认是utf8编码,修改编码的过程是在toStr和toFile方法里,即XML在转为文本的时候才定义编码
*
* @return XML文档
* @since 4.0.8
@@ -397,7 +397,7 @@ public class XmlUtil {
/**
* 创建XML文档
- * 创建的XML默认是utf8编码,修改编码的过程是在toStr和toFile方法里,既XML在转为文本的时候才定义编码
+ * 创建的XML默认是utf8编码,修改编码的过程是在toStr和toFile方法里,即XML在转为文本的时候才定义编码
*
* @param rootElementName 根节点名称
* @return XML文档
diff --git a/hutool-core/src/test/java/cn/hutool/core/date/DateUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/date/DateUtilTest.java
index cbb52df68..f3be73ca9 100644
--- a/hutool-core/src/test/java/cn/hutool/core/date/DateUtilTest.java
+++ b/hutool-core/src/test/java/cn/hutool/core/date/DateUtilTest.java
@@ -421,7 +421,7 @@ public class DateUtilTest {
DateTime dt2 = DateUtil.parse(dateStr1);
Assert.assertEquals(dt, dt2);
- // 默认使用Pattern对应的时区,既UTC时区
+ // 默认使用Pattern对应的时区,即UTC时区
String dateStr = dt.toString();
Assert.assertEquals("2018-09-13 05:34:31", dateStr);
diff --git a/hutool-core/src/test/java/cn/hutool/core/util/ArrayUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/util/ArrayUtilTest.java
index e319746c2..6a110d528 100644
--- a/hutool-core/src/test/java/cn/hutool/core/util/ArrayUtilTest.java
+++ b/hutool-core/src/test/java/cn/hutool/core/util/ArrayUtilTest.java
@@ -191,15 +191,15 @@ public class ArrayUtilTest {
String[] result = ArrayUtil.insert(a, -1, b);
Assert.assertArrayEquals(new String[]{"1", "2", "3", "a", "b", "c", "4"}, result);
- // 在第0个位置插入,既在数组前追加
+ // 在第0个位置插入,即在数组前追加
result = ArrayUtil.insert(a, 0, b);
Assert.assertArrayEquals(new String[]{"a", "b", "c", "1", "2", "3", "4"}, result);
- // 在第2个位置插入,既"3"之前
+ // 在第2个位置插入,即"3"之前
result = ArrayUtil.insert(a, 2, b);
Assert.assertArrayEquals(new String[]{"1", "2", "a", "b", "c", "3", "4"}, result);
- // 在第4个位置插入,既"4"之后,相当于追加
+ // 在第4个位置插入,即"4"之后,相当于追加
result = ArrayUtil.insert(a, 4, b);
Assert.assertArrayEquals(new String[]{"1", "2", "3", "4", "a", "b", "c"}, result);
diff --git a/hutool-cron/src/main/java/cn/hutool/cron/pattern/CronPattern.java b/hutool-cron/src/main/java/cn/hutool/cron/pattern/CronPattern.java
index 36328dfb0..0902b2d93 100644
--- a/hutool-cron/src/main/java/cn/hutool/cron/pattern/CronPattern.java
+++ b/hutool-cron/src/main/java/cn/hutool/cron/pattern/CronPattern.java
@@ -74,7 +74,7 @@ import cn.hutool.cron.pattern.parser.YearValueParser;
* */2 * * * *:每两小时执行
* * 12 * * *:12点的每分钟执行
* 59 11 * * 1,2:每周一和周二的11:59执行
- * 3-18/5 * * * *:3~18分,每5分钟执行一次,既0:03, 0:08, 0:13, 0:18, 1:03, 1:08……
+ * 3-18/5 * * * *:3~18分,每5分钟执行一次,即0:03, 0:08, 0:13, 0:18, 1:03, 1:08……
*
*
* @author Looly
diff --git a/hutool-cron/src/main/java/cn/hutool/cron/task/Task.java b/hutool-cron/src/main/java/cn/hutool/cron/task/Task.java
index ada0743fc..1db81a88f 100644
--- a/hutool-cron/src/main/java/cn/hutool/cron/task/Task.java
+++ b/hutool-cron/src/main/java/cn/hutool/cron/task/Task.java
@@ -3,7 +3,7 @@ package cn.hutool.cron.task;
/**
* 定时作业接口,通过实现execute方法执行具体的任务
*
- * 作业执行是异步执行,既不同作业、相同作业在不同时间的执行是相互独立的。
+ * 作业执行是异步执行,即不同作业、相同作业在不同时间的执行是相互独立的。
* 假如前一个作业未完成,下一个调度开始,则不会等待前一个作业,直接执行。
* 关于作业的互斥,请自行加锁完成。
*
diff --git a/hutool-crypto/src/main/java/cn/hutool/crypto/Padding.java b/hutool-crypto/src/main/java/cn/hutool/crypto/Padding.java
index 7a06c4d07..63fbfb97c 100644
--- a/hutool-crypto/src/main/java/cn/hutool/crypto/Padding.java
+++ b/hutool-crypto/src/main/java/cn/hutool/crypto/Padding.java
@@ -16,7 +16,7 @@ public enum Padding {
*/
NoPadding,
/**
- * 0补码,既不满block长度时使用0填充
+ * 0补码,即不满block长度时使用0填充
*/
ZeroPadding,
ISO10126Padding,
diff --git a/hutool-crypto/src/main/java/cn/hutool/crypto/digest/Digester.java b/hutool-crypto/src/main/java/cn/hutool/crypto/digest/Digester.java
index 97d88a8de..bddc47151 100644
--- a/hutool-crypto/src/main/java/cn/hutool/crypto/digest/Digester.java
+++ b/hutool-crypto/src/main/java/cn/hutool/crypto/digest/Digester.java
@@ -32,7 +32,7 @@ public class Digester implements Serializable {
private MessageDigest digest;
/** 盐值 */
protected byte[] salt;
- /** 加盐位置,既将盐值字符串放置在数据的index数,默认0 */
+ /** 加盐位置,即将盐值字符串放置在数据的index数,默认0 */
protected int saltPosition;
/** 散列次数 */
protected int digestCount;
@@ -120,7 +120,7 @@ public class Digester implements Serializable {
* data: 0123456
*
*
- * 则当saltPosition = 2时,盐位于data的1和2中间,既第二个空隙,既:
+ * 则当saltPosition = 2时,盐位于data的1和2中间,即第二个空隙,即:
*
*
* data: 01[salt]23456
diff --git a/hutool-crypto/src/main/java/cn/hutool/crypto/digest/MD5.java b/hutool-crypto/src/main/java/cn/hutool/crypto/digest/MD5.java
index 63a24e374..e58faee5c 100644
--- a/hutool-crypto/src/main/java/cn/hutool/crypto/digest/MD5.java
+++ b/hutool-crypto/src/main/java/cn/hutool/crypto/digest/MD5.java
@@ -53,7 +53,7 @@ public class MD5 extends Digester {
* 构造
*
* @param salt 盐值
- * @param saltPosition 加盐位置,既将盐值字符串放置在数据的index数,默认0
+ * @param saltPosition 加盐位置,即将盐值字符串放置在数据的index数,默认0
* @param digestCount 摘要次数,当此值小于等于1,默认为1。
*/
public MD5(byte[] salt, int saltPosition, int digestCount) {
diff --git a/hutool-crypto/src/main/java/cn/hutool/crypto/digest/SM3.java b/hutool-crypto/src/main/java/cn/hutool/crypto/digest/SM3.java
index 1752652b5..e04181acb 100644
--- a/hutool-crypto/src/main/java/cn/hutool/crypto/digest/SM3.java
+++ b/hutool-crypto/src/main/java/cn/hutool/crypto/digest/SM3.java
@@ -51,7 +51,7 @@ public class SM3 extends Digester {
* 构造
*
* @param salt 盐值
- * @param saltPosition 加盐位置,既将盐值字符串放置在数据的index数,默认0
+ * @param saltPosition 加盐位置,即将盐值字符串放置在数据的index数,默认0
* @param digestCount 摘要次数,当此值小于等于1,默认为1。
*/
public SM3(byte[] salt, int saltPosition, int digestCount) {
diff --git a/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/SymmetricCrypto.java b/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/SymmetricCrypto.java
index 672ef0cbf..77ec9314d 100644
--- a/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/SymmetricCrypto.java
+++ b/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/SymmetricCrypto.java
@@ -134,7 +134,7 @@ public class SymmetricCrypto implements Serializable {
*
* @param algorithm 算法
* @param key 密钥,如果为null自动生成一个key
- * @return {@link SymmetricCrypto}的子对象,既子对象自身
+ * @return {@link SymmetricCrypto}的子对象,即子对象自身
*/
public SymmetricCrypto init(String algorithm, SecretKey key) {
Assert.notBlank(algorithm, "'algorithm' must be not blank !");
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 bcae7eb4b..4210cfbe3 100644
--- a/hutool-http/src/main/java/cn/hutool/http/HtmlUtil.java
+++ b/hutool-http/src/main/java/cn/hutool/http/HtmlUtil.java
@@ -151,7 +151,7 @@ public class HtmlUtil {
// (?i) 表示忽略大小写
// \s* 属性名前后的空白符去除
// [^>]+? 属性值,至少有一个非>的字符,>表示标签结束
- // \s+(?=>) 表示属性值后跟空格加>,既末尾的属性,此时去掉空格
+ // \s+(?=>) 表示属性值后跟空格加>,即末尾的属性,此时去掉空格
// (?=\s|>) 表示属性值后跟空格(属性后还有别的属性)或者跟>(最后一个属性)
regex = StrUtil.format("(?i)(\\s*{}\\s*=[^>]+?\\s+(?=>))|(\\s*{}\\s*=[^>]+?(?=\\s|>))", attr, attr);
content = content.replaceAll(regex, StrUtil.EMPTY);
diff --git a/hutool-http/src/main/java/cn/hutool/http/webservice/SoapClient.java b/hutool-http/src/main/java/cn/hutool/http/webservice/SoapClient.java
index 7bcf0ffb7..5fedf4589 100644
--- a/hutool-http/src/main/java/cn/hutool/http/webservice/SoapClient.java
+++ b/hutool-http/src/main/java/cn/hutool/http/webservice/SoapClient.java
@@ -495,7 +495,7 @@ public class SoapClient {
}
/**
- * 执行Webservice请求,既发送SOAP内容
+ * 执行Webservice请求,即发送SOAP内容
*
* @return 返回结果
*/
@@ -517,7 +517,7 @@ public class SoapClient {
}
/**
- * 执行Webservice请求,既发送SOAP内容
+ * 执行Webservice请求,即发送SOAP内容
*
* @return 返回结果
*/
@@ -526,7 +526,7 @@ public class SoapClient {
}
/**
- * 执行Webservice请求,既发送SOAP内容
+ * 执行Webservice请求,即发送SOAP内容
*
* @param pretty 是否格式化
* @return 返回结果
diff --git a/hutool-json/src/main/java/cn/hutool/json/JSONArray.java b/hutool-json/src/main/java/cn/hutool/json/JSONArray.java
index 9a4f5482d..6c1198db2 100644
--- a/hutool-json/src/main/java/cn/hutool/json/JSONArray.java
+++ b/hutool-json/src/main/java/cn/hutool/json/JSONArray.java
@@ -513,7 +513,7 @@ public class JSONArray extends JSONGetter implements JSON, List