diff --git a/hutool-core/src/main/java/cn/hutool/core/io/FastStringWriter.java b/hutool-core/src/main/java/cn/hutool/core/io/FastStringWriter.java
index 1545ab99f..70c573b2b 100644
--- a/hutool-core/src/main/java/cn/hutool/core/io/FastStringWriter.java
+++ b/hutool-core/src/main/java/cn/hutool/core/io/FastStringWriter.java
@@ -12,13 +12,15 @@ import java.io.Writer;
*/
public final class FastStringWriter extends Writer {
- private final StrBuilder builder;
+ private static final int DEFAULT_CAPACITY = 16;
+
+ private final StringBuilder builder;
/**
* 构造
*/
public FastStringWriter() {
- this(StrBuilder.DEFAULT_CAPACITY);
+ this(DEFAULT_CAPACITY);
}
/**
@@ -28,9 +30,9 @@ public final class FastStringWriter extends Writer {
*/
public FastStringWriter(int initialSize) {
if (initialSize < 0) {
- initialSize = StrBuilder.DEFAULT_CAPACITY;
+ initialSize = DEFAULT_CAPACITY;
}
- this.builder = new StrBuilder(initialSize);
+ this.builder = new StringBuilder(initialSize);
}
diff --git a/hutool-core/src/main/java/cn/hutool/core/reflect/ReflectUtil.java b/hutool-core/src/main/java/cn/hutool/core/reflect/ReflectUtil.java
index 5d912d725..cffa3e33e 100644
--- a/hutool-core/src/main/java/cn/hutool/core/reflect/ReflectUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/reflect/ReflectUtil.java
@@ -392,7 +392,6 @@ public class ReflectUtil {
/**
* 获得指定类过滤后的Public方法列表
- * TODO 6.x此方法更改返回Method[]
*
* @param clazz 查找方法的类
* @param filter 过滤器
diff --git a/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java b/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java
index ced27f492..09ef54cbe 100755
--- a/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java
@@ -4191,16 +4191,6 @@ public class CharSequenceUtil {
return sb;
}
- /**
- * 创建StrBuilder对象
- *
- * @param strs 初始字符串列表
- * @return StrBuilder对象
- */
- public static StrBuilder strBuilder(final CharSequence... strs) {
- return StrBuilder.create(strs);
- }
-
// ------------------------------------------------------------------------ getter and setter
/**
diff --git a/hutool-core/src/main/java/cn/hutool/core/text/StrUtil.java b/hutool-core/src/main/java/cn/hutool/core/text/StrUtil.java
index b1440c4ce..b3e63f3da 100644
--- a/hutool-core/src/main/java/cn/hutool/core/text/StrUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/text/StrUtil.java
@@ -1,6 +1,5 @@
package cn.hutool.core.text;
-import cn.hutool.core.lang.id.IdUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.CharsetUtil;
@@ -272,16 +271,6 @@ public class StrUtil extends CharSequenceUtil implements StrPool {
return new StringBuilder();
}
- /**
- * 创建StrBuilder对象
- *
- * @return StrBuilder对象
- * @since 4.0.1
- */
- public static StrBuilder strBuilder() {
- return StrBuilder.create();
- }
-
/**
* 创建StringBuilder对象
*
@@ -292,17 +281,6 @@ public class StrUtil extends CharSequenceUtil implements StrPool {
return new StringBuilder(capacity);
}
- /**
- * 创建StrBuilder对象
- *
- * @param capacity 初始大小
- * @return StrBuilder对象
- * @since 4.0.1
- */
- public static StrBuilder strBuilder(final int capacity) {
- return StrBuilder.create(capacity);
- }
-
/**
* 获得StringReader
*
@@ -412,17 +390,6 @@ public class StrUtil extends CharSequenceUtil implements StrPool {
return TextSimilarity.similar(str1, str2, scale);
}
- /**
- * 生成随机UUID
- *
- * @return UUID字符串
- * @see IdUtil#randomUUID()
- * @since 4.0.10
- */
- public static String uuid() {
- return IdUtil.randomUUID();
- }
-
/**
* 格式化文本,使用 {varName} 占位
* map = {a: "aValue", b: "bValue"} format("{a} and {b}", map) ---=》 aValue and bValue
diff --git a/hutool-core/src/main/java/cn/hutool/core/text/escape/NumericEntityUnescaper.java b/hutool-core/src/main/java/cn/hutool/core/text/escape/NumericEntityUnescaper.java
index 638f15121..286517de7 100644
--- a/hutool-core/src/main/java/cn/hutool/core/text/escape/NumericEntityUnescaper.java
+++ b/hutool-core/src/main/java/cn/hutool/core/text/escape/NumericEntityUnescaper.java
@@ -1,6 +1,5 @@
package cn.hutool.core.text.escape;
-import cn.hutool.core.text.StrBuilder;
import cn.hutool.core.text.replacer.StrReplacer;
import cn.hutool.core.util.CharUtil;
@@ -14,7 +13,7 @@ public class NumericEntityUnescaper extends StrReplacer {
private static final long serialVersionUID = 1L;
@Override
- protected int replace(final CharSequence str, final int pos, final StrBuilder out) {
+ protected int replace(final CharSequence str, final int pos, final StringBuilder out) {
final int len = str.length();
// 检查以确保以开头
if (str.charAt(pos) == '&' && pos < len - 2 && str.charAt(pos + 1) == '#') {
diff --git a/hutool-core/src/main/java/cn/hutool/core/text/replacer/LookupReplacer.java b/hutool-core/src/main/java/cn/hutool/core/text/replacer/LookupReplacer.java
index 6bbb4ce03..de1696ac1 100644
--- a/hutool-core/src/main/java/cn/hutool/core/text/replacer/LookupReplacer.java
+++ b/hutool-core/src/main/java/cn/hutool/core/text/replacer/LookupReplacer.java
@@ -1,7 +1,5 @@
package cn.hutool.core.text.replacer;
-import cn.hutool.core.text.StrBuilder;
-
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
@@ -51,7 +49,7 @@ public class LookupReplacer extends StrReplacer {
}
@Override
- protected int replace(final CharSequence str, final int pos, final StrBuilder out) {
+ protected int replace(final CharSequence str, final int pos, final StringBuilder out) {
if (prefixSet.contains(str.charAt(pos))) {
int max = this.maxLength;
if (pos + this.maxLength > str.length()) {
diff --git a/hutool-core/src/main/java/cn/hutool/core/text/replacer/ReplacerChain.java b/hutool-core/src/main/java/cn/hutool/core/text/replacer/ReplacerChain.java
index 3f327830a..bee515fe9 100644
--- a/hutool-core/src/main/java/cn/hutool/core/text/replacer/ReplacerChain.java
+++ b/hutool-core/src/main/java/cn/hutool/core/text/replacer/ReplacerChain.java
@@ -1,7 +1,6 @@
package cn.hutool.core.text.replacer;
import cn.hutool.core.lang.Chain;
-import cn.hutool.core.text.StrBuilder;
import java.util.Iterator;
import java.util.LinkedList;
@@ -42,7 +41,7 @@ public class ReplacerChain extends StrReplacer implements Chain, Serializabl
* @param out 输出
* @return 处理的原字符串长度,0表示跳过此字符
*/
- protected abstract int replace(CharSequence str, int pos, StrBuilder out);
+ protected abstract int replace(CharSequence str, int pos, StringBuilder out);
@Override
public CharSequence replace(final CharSequence t) {
final int len = t.length();
- final StrBuilder builder = StrBuilder.create(len);
+ final StringBuilder builder = new StringBuilder(len);
int pos = 0;//当前位置
int consumed;//处理过的字符数
while (pos < len) {
diff --git a/hutool-core/src/test/java/cn/hutool/core/text/StrBuilderTest.java b/hutool-core/src/test/java/cn/hutool/core/text/StrBuilderTest.java
deleted file mode 100644
index 4d9e0635d..000000000
--- a/hutool-core/src/test/java/cn/hutool/core/text/StrBuilderTest.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package cn.hutool.core.text;
-
-import org.junit.Assert;
-import org.junit.Ignore;
-import org.junit.Test;
-
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.date.TimeInterval;
-import cn.hutool.core.lang.Console;
-
-/**
- * StrBuilder单元测试
- * @author looly
- *
- */
-public class StrBuilderTest {
-
- /**
- * StrBuilder的性能测试
- */
- @Test
- @Ignore
- public void benchTest() {
- final TimeInterval timer = DateUtil.timer();
- final StrBuilder builder = StrBuilder.create();
- for(int i =0; i< 1000000; i++) {
- builder.append("test");
- builder.reset();
- }
- Console.log(timer.interval());
-
- timer.restart();
- StringBuilder b2 = new StringBuilder();
- for(int i =0; i< 1000000; i++) {
- b2.append("test");
- b2 = new StringBuilder();
- }
- Console.log(timer.interval());
- }
-
- @Test
- public void appendTest() {
- final StrBuilder builder = StrBuilder.create();
- builder.append("aaa").append("你好").append('r');
- Assert.assertEquals("aaa你好r", builder.toString());
- }
-
- @Test
- public void insertTest() {
- final StrBuilder builder = StrBuilder.create(1);
- builder.append("aaa").append("你好").append('r');
- builder.insert(3, "数据插入");
- Assert.assertEquals("aaa数据插入你好r", builder.toString());
- }
-
- @Test
- public void insertTest2() {
- final StrBuilder builder = StrBuilder.create(1);
- builder.append("aaa").append("你好").append('r');
- builder.insert(8, "数据插入");
- Assert.assertEquals("aaa你好r 数据插入", builder.toString());
- }
-
- @Test
- public void resetTest() {
- final StrBuilder builder = StrBuilder.create(1);
- builder.append("aaa").append("你好").append('r');
- builder.insert(3, "数据插入");
- builder.reset();
- Assert.assertEquals("", builder.toString());
- }
-
- @Test
- public void resetTest2() {
- final StrBuilder builder = StrBuilder.create(1);
- builder.append("aaa").append("你好").append('r');
- builder.insert(3, "数据插入");
- builder.reset();
- builder.append("bbb".toCharArray());
- Assert.assertEquals("bbb", builder.toString());
- }
-
- @Test
- public void appendObjectTest() {
- final StrBuilder builder = StrBuilder.create(1);
- builder.append(123).append(456.123D).append(true).append('\n');
- Assert.assertEquals("123456.123true\n", builder.toString());
- }
-
- @Test
- public void delTest() {
- // 删除全部测试
- final StrBuilder strBuilder = new StrBuilder("ABCDEFG");
- final int length = strBuilder.length();
- final StrBuilder builder = strBuilder.del(0, length);
- Assert.assertEquals("", builder.toString());
- }
-
- @Test
- public void delTest2() {
- // 删除中间部分测试
- final StrBuilder strBuilder = new StrBuilder("ABCDEFG");
- final StrBuilder builder = strBuilder.del(2,6);
- Assert.assertEquals("ABG", builder.toString());
- }
-
- @Test
- public void delToTest() {
- final StrBuilder strBuilder = new StrBuilder("ABCDEFG");
-
- // 不处理
- StrBuilder builder = strBuilder.delTo(7);
- Assert.assertEquals("ABCDEFG", builder.toString());
-
- // 删除全部
- builder = strBuilder.delTo(0);
- Assert.assertEquals("", builder.toString());
- }
-}
diff --git a/hutool-cron/src/main/java/cn/hutool/cron/task/InvokeTask.java b/hutool-cron/src/main/java/cn/hutool/cron/task/InvokeTask.java
index f27ec8713..adbe6ba04 100644
--- a/hutool-cron/src/main/java/cn/hutool/cron/task/InvokeTask.java
+++ b/hutool-cron/src/main/java/cn/hutool/cron/task/InvokeTask.java
@@ -1,8 +1,7 @@
package cn.hutool.cron.task;
-import cn.hutool.core.exceptions.UtilException;
import cn.hutool.core.classloader.ClassLoaderUtil;
-import cn.hutool.core.reflect.ClassUtil;
+import cn.hutool.core.exceptions.UtilException;
import cn.hutool.core.reflect.ReflectUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.cron.CronException;
@@ -51,7 +50,7 @@ public class InvokeTask implements Task{
if(StrUtil.isBlank(methodName)) {
throw new IllegalArgumentException("Method name is blank !");
}
- this.method = ClassUtil.getPublicMethod(clazz, methodName);
+ this.method = ReflectUtil.getPublicMethod(clazz, methodName);
if(null == this.method) {
throw new IllegalArgumentException("No method with name of [" + methodName + "] !");
}
diff --git a/hutool-extra/src/main/java/cn/hutool/extra/aop/ProxyUtil.java b/hutool-extra/src/main/java/cn/hutool/extra/aop/ProxyUtil.java
index 9abebf60e..90123a7e3 100755
--- a/hutool-extra/src/main/java/cn/hutool/extra/aop/ProxyUtil.java
+++ b/hutool-extra/src/main/java/cn/hutool/extra/aop/ProxyUtil.java
@@ -1,8 +1,8 @@
package cn.hutool.extra.aop;
+import cn.hutool.core.classloader.ClassLoaderUtil;
import cn.hutool.extra.aop.aspects.Aspect;
import cn.hutool.extra.aop.proxy.ProxyFactory;
-import cn.hutool.core.reflect.ClassUtil;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;
@@ -69,6 +69,6 @@ public final class ProxyUtil {
* @return 代理类
*/
public static T newProxyInstance(final InvocationHandler invocationHandler, final Class>... interfaces) {
- return newProxyInstance(ClassUtil.getClassLoader(), invocationHandler, interfaces);
+ return newProxyInstance(ClassLoaderUtil.getClassLoader(), invocationHandler, interfaces);
}
}
diff --git a/hutool-extra/src/main/java/cn/hutool/extra/template/engine/freemarker/FreemarkerEngine.java b/hutool-extra/src/main/java/cn/hutool/extra/template/engine/freemarker/FreemarkerEngine.java
index 1ba2f69f5..0952066ff 100644
--- a/hutool-extra/src/main/java/cn/hutool/extra/template/engine/freemarker/FreemarkerEngine.java
+++ b/hutool-extra/src/main/java/cn/hutool/extra/template/engine/freemarker/FreemarkerEngine.java
@@ -1,8 +1,8 @@
package cn.hutool.extra.template.engine.freemarker;
+import cn.hutool.core.classloader.ClassLoaderUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IORuntimeException;
-import cn.hutool.core.reflect.ClassUtil;
import cn.hutool.extra.template.Template;
import cn.hutool.extra.template.TemplateConfig;
import cn.hutool.extra.template.TemplateEngine;
@@ -99,7 +99,7 @@ public class FreemarkerEngine implements TemplateEngine {
switch (config.getResourceMode()) {
case CLASSPATH:
- cfg.setTemplateLoader(new ClassTemplateLoader(ClassUtil.getClassLoader(), config.getPath()));
+ cfg.setTemplateLoader(new ClassTemplateLoader(ClassLoaderUtil.getClassLoader(), config.getPath()));
break;
case FILE:
try {
diff --git a/hutool-http/src/main/java/cn/hutool/http/HttpUtil.java b/hutool-http/src/main/java/cn/hutool/http/HttpUtil.java
index 71f1c556e..99e578653 100755
--- a/hutool-http/src/main/java/cn/hutool/http/HttpUtil.java
+++ b/hutool-http/src/main/java/cn/hutool/http/HttpUtil.java
@@ -667,7 +667,7 @@ public class HttpUtil {
}
// 始终有参数
- final StrBuilder urlBuilder = StrBuilder.create(url.length() + queryString.length() + 16);
+ final StringBuilder urlBuilder = new StringBuilder(url.length() + queryString.length() + 16);
final int qmIndex = url.indexOf('?');
if (qmIndex > 0) {
// 原URL带参数,则对这部分参数单独编码(如果选项为进行编码)