remove methods

This commit is contained in:
Looly 2022-05-01 23:30:26 +08:00
parent 6c8fb79b38
commit 50e6afc59a
13 changed files with 18 additions and 185 deletions

View File

@ -12,13 +12,15 @@ import java.io.Writer;
*/ */
public final class FastStringWriter extends Writer { public final class FastStringWriter extends Writer {
private final StrBuilder builder; private static final int DEFAULT_CAPACITY = 16;
private final StringBuilder builder;
/** /**
* 构造 * 构造
*/ */
public FastStringWriter() { public FastStringWriter() {
this(StrBuilder.DEFAULT_CAPACITY); this(DEFAULT_CAPACITY);
} }
/** /**
@ -28,9 +30,9 @@ public final class FastStringWriter extends Writer {
*/ */
public FastStringWriter(int initialSize) { public FastStringWriter(int initialSize) {
if (initialSize < 0) { if (initialSize < 0) {
initialSize = StrBuilder.DEFAULT_CAPACITY; initialSize = DEFAULT_CAPACITY;
} }
this.builder = new StrBuilder(initialSize); this.builder = new StringBuilder(initialSize);
} }

View File

@ -392,7 +392,6 @@ public class ReflectUtil {
/** /**
* 获得指定类过滤后的Public方法列表<br> * 获得指定类过滤后的Public方法列表<br>
* TODO 6.x此方法更改返回Method[]
* *
* @param clazz 查找方法的类 * @param clazz 查找方法的类
* @param filter 过滤器 * @param filter 过滤器

View File

@ -4191,16 +4191,6 @@ public class CharSequenceUtil {
return sb; return sb;
} }
/**
* 创建StrBuilder对象
*
* @param strs 初始字符串列表
* @return StrBuilder对象
*/
public static StrBuilder strBuilder(final CharSequence... strs) {
return StrBuilder.create(strs);
}
// ------------------------------------------------------------------------ getter and setter // ------------------------------------------------------------------------ getter and setter
/** /**

View File

@ -1,6 +1,5 @@
package cn.hutool.core.text; package cn.hutool.core.text;
import cn.hutool.core.lang.id.IdUtil;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.CharsetUtil;
@ -272,16 +271,6 @@ public class StrUtil extends CharSequenceUtil implements StrPool {
return new StringBuilder(); return new StringBuilder();
} }
/**
* 创建StrBuilder对象
*
* @return StrBuilder对象
* @since 4.0.1
*/
public static StrBuilder strBuilder() {
return StrBuilder.create();
}
/** /**
* 创建StringBuilder对象 * 创建StringBuilder对象
* *
@ -292,17 +281,6 @@ public class StrUtil extends CharSequenceUtil implements StrPool {
return new StringBuilder(capacity); 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 * 获得StringReader
* *
@ -412,17 +390,6 @@ public class StrUtil extends CharSequenceUtil implements StrPool {
return TextSimilarity.similar(str1, str2, scale); return TextSimilarity.similar(str1, str2, scale);
} }
/**
* 生成随机UUID
*
* @return UUID字符串
* @see IdUtil#randomUUID()
* @since 4.0.10
*/
public static String uuid() {
return IdUtil.randomUUID();
}
/** /**
* 格式化文本使用 {varName} 占位<br> * 格式化文本使用 {varName} 占位<br>
* map = {a: "aValue", b: "bValue"} format("{a} and {b}", map) ---= aValue and bValue * map = {a: "aValue", b: "bValue"} format("{a} and {b}", map) ---= aValue and bValue

View File

@ -1,6 +1,5 @@
package cn.hutool.core.text.escape; package cn.hutool.core.text.escape;
import cn.hutool.core.text.StrBuilder;
import cn.hutool.core.text.replacer.StrReplacer; import cn.hutool.core.text.replacer.StrReplacer;
import cn.hutool.core.util.CharUtil; import cn.hutool.core.util.CharUtil;
@ -14,7 +13,7 @@ public class NumericEntityUnescaper extends StrReplacer {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Override @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(); final int len = str.length();
// 检查以确保以&#开头 // 检查以确保以&#开头
if (str.charAt(pos) == '&' && pos < len - 2 && str.charAt(pos + 1) == '#') { if (str.charAt(pos) == '&' && pos < len - 2 && str.charAt(pos + 1) == '#') {

View File

@ -1,7 +1,5 @@
package cn.hutool.core.text.replacer; package cn.hutool.core.text.replacer;
import cn.hutool.core.text.StrBuilder;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.Map; import java.util.Map;
@ -51,7 +49,7 @@ public class LookupReplacer extends StrReplacer {
} }
@Override @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))) { if (prefixSet.contains(str.charAt(pos))) {
int max = this.maxLength; int max = this.maxLength;
if (pos + this.maxLength > str.length()) { if (pos + this.maxLength > str.length()) {

View File

@ -1,7 +1,6 @@
package cn.hutool.core.text.replacer; package cn.hutool.core.text.replacer;
import cn.hutool.core.lang.Chain; import cn.hutool.core.lang.Chain;
import cn.hutool.core.text.StrBuilder;
import java.util.Iterator; import java.util.Iterator;
import java.util.LinkedList; import java.util.LinkedList;
@ -42,7 +41,7 @@ public class ReplacerChain extends StrReplacer implements Chain<StrReplacer, Rep
} }
@Override @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) {
int consumed = 0; int consumed = 0;
for (final StrReplacer strReplacer : replacers) { for (final StrReplacer strReplacer : replacers) {
consumed = strReplacer.replace(str, pos, out); consumed = strReplacer.replace(str, pos, out);

View File

@ -1,7 +1,6 @@
package cn.hutool.core.text.replacer; package cn.hutool.core.text.replacer;
import cn.hutool.core.lang.func.Replacer; import cn.hutool.core.lang.func.Replacer;
import cn.hutool.core.text.StrBuilder;
import java.io.Serializable; import java.io.Serializable;
@ -23,12 +22,12 @@ public abstract class StrReplacer implements Replacer<CharSequence>, Serializabl
* @param out 输出 * @param out 输出
* @return 处理的原字符串长度0表示跳过此字符 * @return 处理的原字符串长度0表示跳过此字符
*/ */
protected abstract int replace(CharSequence str, int pos, StrBuilder out); protected abstract int replace(CharSequence str, int pos, StringBuilder out);
@Override @Override
public CharSequence replace(final CharSequence t) { public CharSequence replace(final CharSequence t) {
final int len = t.length(); final int len = t.length();
final StrBuilder builder = StrBuilder.create(len); final StringBuilder builder = new StringBuilder(len);
int pos = 0;//当前位置 int pos = 0;//当前位置
int consumed;//处理过的字符数 int consumed;//处理过的字符数
while (pos < len) { while (pos < len) {

View File

@ -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());
}
}

View File

@ -1,8 +1,7 @@
package cn.hutool.cron.task; package cn.hutool.cron.task;
import cn.hutool.core.exceptions.UtilException;
import cn.hutool.core.classloader.ClassLoaderUtil; 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.reflect.ReflectUtil;
import cn.hutool.core.text.StrUtil; import cn.hutool.core.text.StrUtil;
import cn.hutool.cron.CronException; import cn.hutool.cron.CronException;
@ -51,7 +50,7 @@ public class InvokeTask implements Task{
if(StrUtil.isBlank(methodName)) { if(StrUtil.isBlank(methodName)) {
throw new IllegalArgumentException("Method name is blank !"); throw new IllegalArgumentException("Method name is blank !");
} }
this.method = ClassUtil.getPublicMethod(clazz, methodName); this.method = ReflectUtil.getPublicMethod(clazz, methodName);
if(null == this.method) { if(null == this.method) {
throw new IllegalArgumentException("No method with name of [" + methodName + "] !"); throw new IllegalArgumentException("No method with name of [" + methodName + "] !");
} }

View File

@ -1,8 +1,8 @@
package cn.hutool.extra.aop; package cn.hutool.extra.aop;
import cn.hutool.core.classloader.ClassLoaderUtil;
import cn.hutool.extra.aop.aspects.Aspect; import cn.hutool.extra.aop.aspects.Aspect;
import cn.hutool.extra.aop.proxy.ProxyFactory; import cn.hutool.extra.aop.proxy.ProxyFactory;
import cn.hutool.core.reflect.ClassUtil;
import java.lang.reflect.InvocationHandler; import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy; import java.lang.reflect.Proxy;
@ -69,6 +69,6 @@ public final class ProxyUtil {
* @return 代理类 * @return 代理类
*/ */
public static <T> T newProxyInstance(final InvocationHandler invocationHandler, final Class<?>... interfaces) { public static <T> T newProxyInstance(final InvocationHandler invocationHandler, final Class<?>... interfaces) {
return newProxyInstance(ClassUtil.getClassLoader(), invocationHandler, interfaces); return newProxyInstance(ClassLoaderUtil.getClassLoader(), invocationHandler, interfaces);
} }
} }

View File

@ -1,8 +1,8 @@
package cn.hutool.extra.template.engine.freemarker; package cn.hutool.extra.template.engine.freemarker;
import cn.hutool.core.classloader.ClassLoaderUtil;
import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.reflect.ClassUtil;
import cn.hutool.extra.template.Template; import cn.hutool.extra.template.Template;
import cn.hutool.extra.template.TemplateConfig; import cn.hutool.extra.template.TemplateConfig;
import cn.hutool.extra.template.TemplateEngine; import cn.hutool.extra.template.TemplateEngine;
@ -99,7 +99,7 @@ public class FreemarkerEngine implements TemplateEngine {
switch (config.getResourceMode()) { switch (config.getResourceMode()) {
case CLASSPATH: case CLASSPATH:
cfg.setTemplateLoader(new ClassTemplateLoader(ClassUtil.getClassLoader(), config.getPath())); cfg.setTemplateLoader(new ClassTemplateLoader(ClassLoaderUtil.getClassLoader(), config.getPath()));
break; break;
case FILE: case FILE:
try { try {

View File

@ -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('?'); final int qmIndex = url.indexOf('?');
if (qmIndex > 0) { if (qmIndex > 0) {
// 原URL带参数则对这部分参数单独编码如果选项为进行编码 // 原URL带参数则对这部分参数单独编码如果选项为进行编码