(weigher);
}
/**
- * A weigher where an entry has a selector of 1 . A map bounded with
+ * A weigher where an entry has a selector of 1 . A map bounded with
* this weigher will evict when the number of key-value pairs exceeds the
* capacity.
*
@@ -64,7 +64,7 @@ public final class Weighers {
}
/**
- * A weigher where a value has a selector of 1 . A map bounded with
+ * A weigher where a value has a selector of 1 . A map bounded with
* this weigher will evict when the number of key-value pairs exceeds the
* capacity.
*
@@ -84,7 +84,7 @@ public final class Weighers {
* and is primarily for usage by dedicated caching servers that hold the
* serialized data.
*
- * A value with a selector of 0 will be rejected by the map. If a value
+ * A value with a selector of 0 will be rejected by the map. If a value
* with this selector can occur then the caller should eagerly evaluate the
* value and treat it as a removal operation. Alternatively, a custom weigher
* may be specified on the map to assign an empty value a positive selector.
@@ -102,7 +102,7 @@ public final class Weighers {
* map bounded with this weigher will evict when the total number of elements
* exceeds the capacity rather than the number of key-value pairs in the map.
*
- * A value with a selector of 0 will be rejected by the map. If a value
+ * A value with a selector of 0 will be rejected by the map. If a value
* with this selector can occur then the caller should eagerly evaluate the
* value and treat it as a removal operation. Alternatively, a custom weigher
* may be specified on the map to assign an empty value a positive selector.
@@ -110,9 +110,8 @@ public final class Weighers {
* @param 元素类型
* @return A weigher where each element takes one unit of capacity.
*/
- @SuppressWarnings({"cast", "unchecked"})
public static Weigher super Iterable> iterable() {
- return (Weigher>) (Weigher>) IterableWeigher.INSTANCE;
+ return IterableWeigher.INSTANCE;
}
/**
@@ -121,7 +120,7 @@ public final class Weighers {
* total number of elements exceeds the capacity rather than the number of
* key-value pairs in the map.
*
- * A value with a selector of 0 will be rejected by the map. If a value
+ * A value with a selector of 0 will be rejected by the map. If a value
* with this selector can occur then the caller should eagerly evaluate the
* value and treat it as a removal operation. Alternatively, a custom weigher
* may be specified on the map to assign an empty value a positive selector.
@@ -129,9 +128,8 @@ public final class Weighers {
* @param 元素类型
* @return A weigher where each element takes one unit of capacity.
*/
- @SuppressWarnings({"cast", "unchecked"})
public static Weigher super Collection> collection() {
- return (Weigher>) (Weigher>) CollectionWeigher.INSTANCE;
+ return CollectionWeigher.INSTANCE;
}
/**
@@ -140,7 +138,7 @@ public final class Weighers {
* number of elements exceeds the capacity rather than the number of
* key-value pairs in the map.
*
- * A value with a selector of 0 will be rejected by the map. If a value
+ * A value with a selector of 0 will be rejected by the map. If a value
* with this selector can occur then the caller should eagerly evaluate the
* value and treat it as a removal operation. Alternatively, a custom weigher
* may be specified on the map to assign an empty value a positive selector.
@@ -159,7 +157,7 @@ public final class Weighers {
* number of elements exceeds the capacity rather than the number of
* key-value pairs in the map.
*
- * A value with a selector of 0 will be rejected by the map. If a value
+ * A value with a selector of 0 will be rejected by the map. If a value
* with this selector can occur then the caller should eagerly evaluate the
* value and treat it as a removal operation. Alternatively, a custom weigher
* may be specified on the map to assign an empty value a positive selector.
@@ -178,7 +176,7 @@ public final class Weighers {
* entries across all values exceeds the capacity rather than the number of
* key-value pairs in the map.
*
- * A value with a selector of 0 will be rejected by the map. If a value
+ * A value with a selector of 0 will be rejected by the map. If a value
* with this selector can occur then the caller should eagerly evaluate the
* value and treat it as a removal operation. Alternatively, a custom weigher
* may be specified on the map to assign an empty value a positive selector.
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/map/multi/CollectionValueMap.java b/hutool-core/src/main/java/org/dromara/hutool/core/map/multi/CollectionValueMap.java
index b2da5edf8..493edd2d2 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/map/multi/CollectionValueMap.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/map/multi/CollectionValueMap.java
@@ -44,7 +44,7 @@ public class CollectionValueMap extends AbsCollValueMap {
* @param mapFactory 生成集合的工厂方法
* @param collFactory 生成值集合的工厂方法
*/
- public CollectionValueMap(Supplier>> mapFactory, SerSupplier> collFactory) {
+ public CollectionValueMap(final Supplier>> mapFactory, final SerSupplier> collFactory) {
super(mapFactory);
this.collFactory = collFactory;
}
@@ -54,7 +54,7 @@ public class CollectionValueMap extends AbsCollValueMap {
*
* @param collFactory 生成值集合的工厂方法
*/
- public CollectionValueMap(SerSupplier> collFactory) {
+ public CollectionValueMap(final SerSupplier> collFactory) {
this.collFactory = collFactory;
}
@@ -70,7 +70,7 @@ public class CollectionValueMap extends AbsCollValueMap {
*
* @param map 提供数据的原始集合
*/
- public CollectionValueMap(Map> map) {
+ public CollectionValueMap(final Map> map) {
super(map);
this.collFactory = ArrayList::new;
}
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/map/multi/MultiValueMap.java b/hutool-core/src/main/java/org/dromara/hutool/core/map/multi/MultiValueMap.java
index 4530cac53..aac112347 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/map/multi/MultiValueMap.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/map/multi/MultiValueMap.java
@@ -175,7 +175,7 @@ public interface MultiValueMap extends Map> {
* @param filter 判断方法
* @return 当前实例
*/
- default MultiValueMap filterAllValues(Predicate filter) {
+ default MultiValueMap filterAllValues(final Predicate filter) {
return filterAllValues((k, v) -> filter.test(v));
}
@@ -193,7 +193,7 @@ public interface MultiValueMap extends Map> {
* @param operate 替换方法
* @return 当前实例
*/
- default MultiValueMap replaceAllValues(UnaryOperator operate) {
+ default MultiValueMap replaceAllValues(final UnaryOperator operate) {
return replaceAllValues((k, v) -> operate.apply(v));
}
@@ -214,7 +214,7 @@ public interface MultiValueMap extends Map> {
* @param index 第几个值的索引,越界返回null
* @return 值或null
*/
- default V getValue(K key, int index) {
+ default V getValue(final K key, final int index) {
final Collection collection = get(key);
return CollUtil.get(collection, index);
}
@@ -256,7 +256,7 @@ public interface MultiValueMap extends Map> {
*
* @param consumer 操作
*/
- default void allForEach(BiConsumer consumer) {
+ default void allForEach(final BiConsumer consumer) {
forEach((k, coll) -> coll.forEach(v -> consumer.accept(k, v)));
}
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/map/multi/SetValueMap.java b/hutool-core/src/main/java/org/dromara/hutool/core/map/multi/SetValueMap.java
index 4451c72f4..67679c64d 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/map/multi/SetValueMap.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/map/multi/SetValueMap.java
@@ -34,7 +34,7 @@ public class SetValueMap extends AbsCollValueMap {
*
* @param mapFactory 创建集合的工厂反方
*/
- public SetValueMap(Supplier>> mapFactory) {
+ public SetValueMap(final Supplier>> mapFactory) {
super(mapFactory);
}
@@ -43,7 +43,7 @@ public class SetValueMap extends AbsCollValueMap {
*
* @param map 提供数据的原始集合
*/
- public SetValueMap(Map> map) {
+ public SetValueMap(final Map> map) {
super(map);
}
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/net/url/UrlQuery.java b/hutool-core/src/main/java/org/dromara/hutool/core/net/url/UrlQuery.java
index df3b58e3b..b5dd7d7f1 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/net/url/UrlQuery.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/net/url/UrlQuery.java
@@ -454,6 +454,6 @@ public class UrlQuery {
/**
* 严格模式,此模式下,非UNRESERVED的字符都会被转义
*/
- STRICT;
+ STRICT
}
}
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/reflect/lookup/ConstructorLookupFactory.java b/hutool-core/src/main/java/org/dromara/hutool/core/reflect/lookup/ConstructorLookupFactory.java
index 47fcea9da..d173f604e 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/reflect/lookup/ConstructorLookupFactory.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/reflect/lookup/ConstructorLookupFactory.java
@@ -48,6 +48,7 @@ public class ConstructorLookupFactory implements LookupFactory {
}
}
+ @SuppressWarnings("JavaReflectionMemberAccess")
private static Constructor createLookupConstructor() {
final Constructor constructor;
try {
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/text/CharSequenceUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/text/CharSequenceUtil.java
index 03a30a5f4..eb718be85 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/text/CharSequenceUtil.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/text/CharSequenceUtil.java
@@ -2032,7 +2032,7 @@ public class CharSequenceUtil extends StrValidator {
}
/**
- * 给定字符串是否与提供的中任一字符串相同(忽略大小写),相同则返回{@code true},没有相同的返回{@code false}
+ * 给定字符串是否与提供的中任意一个字符串相同(忽略大小写),相同则返回{@code true},没有相同的返回{@code false}
* 如果参与比对的字符串列表为空,返回{@code false}
*
* @param str1 给定需要检查的字符串
@@ -2831,7 +2831,7 @@ public class CharSequenceUtil extends StrValidator {
}
/**
- * 如果给定字符串不是以给定的一个或多个字符串为开头,则在首部添加起始字符串
+ * 如果给定字符串不是以给定的一个或多个字符串为开头,则在前面添加起始字符串
* 不忽略大小写
*
* @param str 被检查的字符串
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/text/StrRepeater.java b/hutool-core/src/main/java/org/dromara/hutool/core/text/StrRepeater.java
index 16d4efb78..8ce2fb1a0 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/text/StrRepeater.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/text/StrRepeater.java
@@ -12,6 +12,8 @@
package org.dromara.hutool.core.text;
+import java.util.Arrays;
+
/**
* 字符串或字符重复器
* 用于将给定字符串或字符赋值count次,然后拼接
@@ -60,9 +62,7 @@ public class StrRepeater {
}
final char[] result = new char[count];
- for (int i = 0; i < count; i++) {
- result[i] = c;
- }
+ Arrays.fill(result, c);
return new String(result);
}
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/text/StrTrimer.java b/hutool-core/src/main/java/org/dromara/hutool/core/text/StrTrimer.java
index eb8f5bc0e..06dac76a3 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/text/StrTrimer.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/text/StrTrimer.java
@@ -104,6 +104,6 @@ public class StrTrimer implements UnaryOperator, Serializable {
/**
* 字符串两边
*/
- BOTH;
+ BOTH
}
}
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/text/dfa/NFA.java b/hutool-core/src/main/java/org/dromara/hutool/core/text/dfa/NFA.java
index 351e1b5a9..504021ea4 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/text/dfa/NFA.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/text/dfa/NFA.java
@@ -71,9 +71,7 @@ public class NFA {
needBuildAc = true;
Node p = root;
for (final char curr : word.toCharArray()) {
- if (p.next.get((int) curr) == null) {
- p.next.put((int) curr, new Node());
- }
+ p.next.computeIfAbsent((int) curr, k -> new Node());
p = p.next.get((int) curr);
}
p.flag = true;
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/thread/AsyncUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/thread/AsyncUtil.java
index c36c07ef2..67e0b4fe6 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/thread/AsyncUtil.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/thread/AsyncUtil.java
@@ -118,7 +118,7 @@ public class AsyncUtil {
* @param eHandler 异常处理方法
* @return 任务结果集合
*/
- public static List allOfGet(final CompletableFuture[] tasks, Function eHandler) {
+ public static List allOfGet(final CompletableFuture[] tasks, final Function eHandler) {
Assert.notEmpty(tasks);
return allOfGet(Arrays.asList(tasks), eHandler);
@@ -132,7 +132,7 @@ public class AsyncUtil {
* @param eHandler 异常处理方法
* @return 任务结果集合
*/
- public static List allOfGet(final List> tasks, Function eHandler) {
+ public static List allOfGet(final List> tasks, final Function eHandler) {
Assert.notEmpty(tasks);
return execute(tasks, eHandler, false);
@@ -174,7 +174,7 @@ public class AsyncUtil {
* @param eHandler 异常处理方法
* @return 任务结果集合
*/
- public static List parallelAllOfGet(final CompletableFuture[] tasks, Function eHandler) {
+ public static List parallelAllOfGet(final CompletableFuture[] tasks, final Function eHandler) {
Assert.notEmpty(tasks);
return parallelAllOfGet(Arrays.asList(tasks), eHandler);
@@ -188,7 +188,7 @@ public class AsyncUtil {
* @param eHandler 异常处理方法
* @return 任务结果集合
*/
- public static List parallelAllOfGet(final List> tasks, Function eHandler) {
+ public static List parallelAllOfGet(final List> tasks, final Function eHandler) {
Assert.notEmpty(tasks);
return execute(tasks, eHandler, true);
@@ -203,12 +203,12 @@ public class AsyncUtil {
* @param isParallel 是否是并行 {@link Stream}
* @return 任务结果集合
*/
- private static List execute(List> tasks, Function eHandler, boolean isParallel) {
+ private static List execute(final List> tasks, final Function eHandler, final boolean isParallel) {
return StreamUtil.of(tasks, isParallel)
.map(e -> {
try {
return e.get();
- } catch (InterruptedException | ExecutionException ex) {
+ } catch (final InterruptedException | ExecutionException ex) {
if (eHandler != null) {
return eHandler.apply(ex);
} else {
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/thread/BlockPolicy.java b/hutool-core/src/main/java/org/dromara/hutool/core/thread/BlockPolicy.java
index 70f2ff6f9..01fd8b8d1 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/thread/BlockPolicy.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/thread/BlockPolicy.java
@@ -57,7 +57,7 @@ public class BlockPolicy implements RejectedExecutionHandler {
if (!e.isShutdown()) {
try {
e.getQueue().put(r);
- } catch (InterruptedException ex) {
+ } catch (final InterruptedException ex) {
throw new RejectedExecutionException("Task " + r + " rejected from " + e);
}
} else if (null != handlerwhenshutdown) {
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/thread/SyncFinisher.java b/hutool-core/src/main/java/org/dromara/hutool/core/thread/SyncFinisher.java
index 4b48eb720..6bc22ede4 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/thread/SyncFinisher.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/thread/SyncFinisher.java
@@ -13,7 +13,6 @@
package org.dromara.hutool.core.thread;
import org.dromara.hutool.core.exception.HutoolException;
-import org.dromara.hutool.core.lang.Console;
import java.io.Closeable;
import java.util.LinkedHashSet;
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/classloader/ClassLoaderUtilTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/classloader/ClassLoaderUtilTest.java
index 4b49e6444..8130c348b 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/classloader/ClassLoaderUtilTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/classloader/ClassLoaderUtilTest.java
@@ -12,20 +12,16 @@
package org.dromara.hutool.core.classloader;
-import org.dromara.hutool.core.collection.iter.EnumerationIter;
import org.dromara.hutool.core.io.file.FileUtil;
import org.dromara.hutool.core.lang.Console;
import org.dromara.hutool.core.map.Dict;
import org.dromara.hutool.core.reflect.ClassUtil;
import org.dromara.hutool.core.reflect.FieldUtil;
-import org.dromara.hutool.core.reflect.method.MethodUtil;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import java.lang.reflect.Field;
-import java.sql.Driver;
-import java.sql.DriverManager;
public class ClassLoaderUtilTest {
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/collection/CollUtilTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/collection/CollUtilTest.java
index aa2938e98..e911c5d1c 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/collection/CollUtilTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/collection/CollUtilTest.java
@@ -532,8 +532,8 @@ public class CollUtilTest {
final List list1 = ListUtil.of(false);
final List list2 = ListUtil.of(true);
- Assertions.assertTrue(list1 instanceof ArrayList);
- Assertions.assertTrue(list2 instanceof LinkedList);
+ Assertions.assertInstanceOf(ArrayList.class, list1);
+ Assertions.assertInstanceOf(LinkedList.class, list2);
}
@Test
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/collection/iter/ArrayIterTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/collection/iter/ArrayIterTest.java
index 204d837bd..2cf5a2bd2 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/collection/iter/ArrayIterTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/collection/iter/ArrayIterTest.java
@@ -22,15 +22,15 @@ public class ArrayIterTest {
@Test
public void testHasNext() {
- Integer[] arr = new Integer[]{ 1, 2, 3 };
- ArrayIter iter = new ArrayIter<>(arr);
+ final Integer[] arr = new Integer[]{ 1, 2, 3 };
+ final ArrayIter iter = new ArrayIter<>(arr);
Assertions.assertTrue(iter.hasNext());
}
@Test
public void testNext() {
- Integer[] arr = new Integer[]{ 1, 2, 3 };
- ArrayIter iter = new ArrayIter<>(arr);
+ final Integer[] arr = new Integer[]{ 1, 2, 3 };
+ final ArrayIter iter = new ArrayIter<>(arr);
Assertions.assertEquals((Integer)1, iter.next());
Assertions.assertEquals((Integer)2, iter.next());
Assertions.assertEquals((Integer)3, iter.next());
@@ -38,22 +38,22 @@ public class ArrayIterTest {
@Test
public void testRemove() {
- Integer[] arr = new Integer[]{ 1, 2, 3 };
- ArrayIter iter = new ArrayIter<>(arr);
+ final Integer[] arr = new Integer[]{ 1, 2, 3 };
+ final ArrayIter iter = new ArrayIter<>(arr);
Assertions.assertThrows(UnsupportedOperationException.class, iter::remove);
}
@Test
public void testGetArray() {
- Integer[] arr = new Integer[]{ 1, 2, 3 };
- ArrayIter iter = new ArrayIter<>(arr);
+ final Integer[] arr = new Integer[]{ 1, 2, 3 };
+ final ArrayIter iter = new ArrayIter<>(arr);
Assertions.assertEquals(arr, iter.getArray());
}
@Test
public void testReset() {
- Integer[] arr = new Integer[]{ 1, 2, 3 };
- ArrayIter iter = new ArrayIter<>(arr);
+ final Integer[] arr = new Integer[]{ 1, 2, 3 };
+ final ArrayIter iter = new ArrayIter<>(arr);
Assertions.assertEquals((Integer)1, iter.next());
iter.reset();
Assertions.assertEquals((Integer)1, iter.next());
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/collection/iter/LineIterTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/collection/iter/LineIterTest.java
index 9bab1a620..25fd6c31d 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/collection/iter/LineIterTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/collection/iter/LineIterTest.java
@@ -12,6 +12,7 @@
package org.dromara.hutool.core.collection.iter;
+import org.dromara.hutool.core.exception.HutoolException;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
@@ -27,13 +28,13 @@ public class LineIterTest {
@Test
public void testHasNext() {
- LineIter iter = getItrFromClasspathFile();
+ final LineIter iter = getItrFromClasspathFile();
Assertions.assertTrue(iter.hasNext());
}
@Test
public void testNext() {
- LineIter iter = getItrFromClasspathFile();
+ final LineIter iter = getItrFromClasspathFile();
Assertions.assertEquals("is first line", iter.next());
Assertions.assertEquals("is second line", iter.next());
Assertions.assertEquals("is third line", iter.next());
@@ -41,39 +42,39 @@ public class LineIterTest {
@Test
public void testRemove() {
- LineIter iter = getItrFromClasspathFile();
+ final LineIter iter = getItrFromClasspathFile();
iter.next();
Assertions.assertThrows(UnsupportedOperationException.class, iter::remove);
}
@Test
public void testFinish() {
- LineIter iter = getItrFromClasspathFile();
+ final LineIter iter = getItrFromClasspathFile();
iter.finish();
Assertions.assertThrows(NoSuchElementException.class, iter::next);
}
@Test
public void testClose() throws IOException {
- URL url = LineIterTest.class.getClassLoader().getResource("text.txt");
+ final URL url = LineIterTest.class.getClassLoader().getResource("text.txt");
Assertions.assertNotNull(url);
- FileInputStream inputStream = new FileInputStream(url.getFile());
- LineIter iter = new LineIter(inputStream, StandardCharsets.UTF_8);
+ final FileInputStream inputStream = new FileInputStream(url.getFile());
+ final LineIter iter = new LineIter(inputStream, StandardCharsets.UTF_8);
iter.close();
Assertions.assertThrows(NoSuchElementException.class, iter::next);
Assertions.assertThrows(IOException.class, inputStream::read);
}
private static LineIter getItrFromClasspathFile() {
- URL url = LineIterTest.class.getClassLoader().getResource("text.txt");
+ final URL url = LineIterTest.class.getClassLoader().getResource("text.txt");
Assertions.assertNotNull(url);
- FileInputStream inputStream = null;
+ final FileInputStream inputStream;
try {
inputStream = new FileInputStream(url.getFile());
- } catch (FileNotFoundException e) {
- e.printStackTrace();
+ } catch (final FileNotFoundException e) {
+ throw new HutoolException(e);
}
- BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
+ final BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
return new LineIter(bufferedReader);
}
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/convert/CastUtilTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/convert/CastUtilTest.java
index 503378880..9bcacd83d 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/convert/CastUtilTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/convert/CastUtilTest.java
@@ -27,32 +27,32 @@ import java.util.Set;
public class CastUtilTest {
@Test
public void testCastToSuper() {
- Collection collection= ListUtil.of(1,2,3);
- List list = ListUtil.of(1, 2, 3);
- Set set = SetUtil.of(1, 2, 3);
- Map map = new HashMap<>();
+ final Collection collection= ListUtil.of(1,2,3);
+ final List list = ListUtil.of(1, 2, 3);
+ final Set set = SetUtil.of(1, 2, 3);
+ final Map map = new HashMap<>();
map.put(1, 1);
- Collection collection2 = CastUtil.castUp(collection);
+ final Collection collection2 = CastUtil.castUp(collection);
collection2.add(new Double("123.1"));
Assertions.assertSame(collection, collection2);
- Collection collection3 = CastUtil.castDown(collection2);
+ final Collection collection3 = CastUtil.castDown(collection2);
Assertions.assertSame(collection2, collection3);
- List list2 = CastUtil.castUp(list);
+ final List list2 = CastUtil.castUp(list);
Assertions.assertSame(list, list2);
- List list3 = CastUtil.castDown(list2);
+ final List list3 = CastUtil.castDown(list2);
Assertions.assertSame(list2, list3);
- Set set2 = CastUtil.castUp(set);
+ final Set set2 = CastUtil.castUp(set);
Assertions.assertSame(set, set2);
- Set set3 = CastUtil.castDown(set2);
+ final Set set3 = CastUtil.castDown(set2);
Assertions.assertSame(set2, set3);
- Map map2 = CastUtil.castUp(map);
+ final Map map2 = CastUtil.castUp(map);
Assertions.assertSame(map, map2);
- Map map3 = CastUtil.castDown(map2);
+ final Map map3 = CastUtil.castDown(map2);
Assertions.assertSame(map2, map3);
}
}
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/convert/TemporalAccessorConverterTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/convert/TemporalAccessorConverterTest.java
index c93b51cb1..a26739cd3 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/convert/TemporalAccessorConverterTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/convert/TemporalAccessorConverterTest.java
@@ -23,6 +23,7 @@ import java.time.LocalTime;
import java.time.OffsetDateTime;
import java.time.OffsetTime;
import java.time.ZonedDateTime;
+import java.util.Objects;
public class TemporalAccessorConverterTest {
@@ -32,7 +33,7 @@ public class TemporalAccessorConverterTest {
// 通过转换获取的Instant为UTC时间
final Instant instant = Convert.convert(Instant.class, dateStr);
- final Instant instant1 = DateUtil.parse(dateStr).toInstant();
+ final Instant instant1 = Objects.requireNonNull(DateUtil.parse(dateStr)).toInstant();
Assertions.assertEquals(instant1, instant);
}
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/date/GanzhiTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/date/GanzhiTest.java
index ac43fbfeb..d9fea10a2 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/date/GanzhiTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/date/GanzhiTest.java
@@ -17,6 +17,8 @@ import org.dromara.hutool.core.date.chinese.GanZhi;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import java.util.Objects;
+
public class GanzhiTest {
@Test
@@ -27,7 +29,7 @@ public class GanzhiTest {
@Test
public void getCyclicalYMDTest(){
//通过公历构建
- final ChineseDate chineseDate = new ChineseDate(DateUtil.parse("1993-01-06"));
+ final ChineseDate chineseDate = new ChineseDate(Objects.requireNonNull(DateUtil.parse("1993-01-06")));
final String cyclicalYMD = chineseDate.getCyclicalYMD();
Assertions.assertEquals("壬申年癸丑月丁亥日",cyclicalYMD);
}
@@ -43,7 +45,7 @@ public class GanzhiTest {
@Test
public void getCyclicalYMDTest3(){
//通过公历构建
- final ChineseDate chineseDate = new ChineseDate(DateUtil.parse("2020-08-28"));
+ final ChineseDate chineseDate = new ChineseDate(Objects.requireNonNull(DateUtil.parse("2020-08-28")));
final String cyclicalYMD = chineseDate.getCyclicalYMD();
Assertions.assertEquals("庚子年甲申月癸卯日",cyclicalYMD);
}
@@ -51,7 +53,7 @@ public class GanzhiTest {
@Test
public void getCyclicalYMDTest4(){
//通过公历构建
- final ChineseDate chineseDate = new ChineseDate(DateUtil.parse("1905-08-28"));
+ final ChineseDate chineseDate = new ChineseDate(Objects.requireNonNull(DateUtil.parse("1905-08-28")));
final String cyclicalYMD = chineseDate.getCyclicalYMD();
Assertions.assertEquals("乙巳年甲申月己亥日",cyclicalYMD);
}
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/date/IssueI82Y1LTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/date/IssueI82Y1LTest.java
index 5d26fc169..05353c8d8 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/date/IssueI82Y1LTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/date/IssueI82Y1LTest.java
@@ -15,10 +15,12 @@ package org.dromara.hutool.core.date;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import java.util.Objects;
+
public class IssueI82Y1LTest {
@Test
public void parseTest() {
final String dt1 = "2023-09-14T05:00:03.648519Z";
- Assertions.assertEquals("2023-09-14 05:10:51", DateUtil.parse(dt1).toString());
+ Assertions.assertEquals("2023-09-14 05:10:51", Objects.requireNonNull(DateUtil.parse(dt1)).toString());
}
}
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/date/TimeUtilTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/date/TimeUtilTest.java
index 3d17a20f2..0d8676ba9 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/date/TimeUtilTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/date/TimeUtilTest.java
@@ -111,13 +111,13 @@ public class TimeUtilTest {
Assertions.assertEquals("2020-01-23", localDate.toString());
localDate = TimeUtil.parseDate("2020-01-23T12:23:56", DateTimeFormatter.ISO_DATE_TIME);
- Assertions.assertEquals("2020-01-23", localDate.toString());
+ Assertions.assertEquals("2020-01-23", Objects.requireNonNull(localDate).toString());
}
@Test
public void parseSingleMonthAndDayTest() {
final LocalDate localDate = TimeUtil.parseDate("2020-1-1", "yyyy-M-d");
- Assertions.assertEquals("2020-01-01", localDate.toString());
+ Assertions.assertEquals("2020-01-01", Objects.requireNonNull(localDate).toString());
}
@Test
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/date/ZodiacTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/date/ZodiacTest.java
index 96078ab10..0643705c1 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/date/ZodiacTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/date/ZodiacTest.java
@@ -47,8 +47,6 @@ public class ZodiacTest {
@Test
public void getZodiacOutOfRangeTest() {
// https://github.com/dromara/hutool/issues/3036
- Assertions.assertThrows(IllegalArgumentException.class, ()->{
- DateUtil.getZodiac(Month.UNDECIMBER.getValue(), 10);
- });
+ Assertions.assertThrows(IllegalArgumentException.class, ()-> DateUtil.getZodiac(Month.UNDECIMBER.getValue(), 10));
}
}
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/func/LambdaFactoryTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/func/LambdaFactoryTest.java
index 1f158cfa5..7d83eb9a4 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/func/LambdaFactoryTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/func/LambdaFactoryTest.java
@@ -47,7 +47,7 @@ public class LambdaFactoryTest {
try {
LambdaFactory.build(Function.class, Something.class, "setId", Long.class);
} catch (final Exception e) {
- Assertions.assertTrue(e.getCause() instanceof LambdaConversionException);
+ Assertions.assertInstanceOf(LambdaConversionException.class, e.getCause());
}
}
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/io/file/PathUtilTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/io/file/PathUtilTest.java
index 2e53316dc..e2f8cad2c 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/io/file/PathUtilTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/io/file/PathUtilTest.java
@@ -13,7 +13,6 @@
package org.dromara.hutool.core.io.file;
import org.dromara.hutool.core.array.ArrayUtil;
-import org.dromara.hutool.core.lang.Console;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/io/watch/WatchMonitorTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/io/watch/WatchMonitorTest.java
index e7add53d5..f33855eba 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/io/watch/WatchMonitorTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/io/watch/WatchMonitorTest.java
@@ -14,14 +14,11 @@ package org.dromara.hutool.core.io.watch;
import org.dromara.hutool.core.io.file.PathUtil;
import org.dromara.hutool.core.io.watch.watchers.DelayWatcher;
-import org.dromara.hutool.core.io.watch.watchers.SimpleWatcher;
import org.dromara.hutool.core.lang.Console;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import java.nio.file.Path;
-import java.nio.file.WatchEvent;
-import java.nio.file.WatchKey;
/**
* 文件监听单元测试
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/io/watch/WatchServiceWrapperTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/io/watch/WatchServiceWrapperTest.java
index 337ac13d0..54236395a 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/io/watch/WatchServiceWrapperTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/io/watch/WatchServiceWrapperTest.java
@@ -1,14 +1,9 @@
package org.dromara.hutool.core.io.watch;
import org.dromara.hutool.core.io.file.PathUtil;
-import org.dromara.hutool.core.io.watch.watchers.SimpleWatcher;
-import org.dromara.hutool.core.lang.Console;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
-import java.nio.file.WatchEvent;
-import java.nio.file.WatchKey;
-
public class WatchServiceWrapperTest {
@SuppressWarnings("resource")
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/lang/OptTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/lang/OptTest.java
index 7b6efb86d..de4cacf32 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/lang/OptTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/lang/OptTest.java
@@ -197,9 +197,9 @@ public class OptTest {
return list.get(0);
}).exceptionOrElse("hutool");
- Assertions.assertTrue(Opt.ofTry(() -> {
+ Assertions.assertInstanceOf(AssertionError.class, Opt.ofTry(() -> {
throw new AssertionError("");
- }).getThrowable() instanceof AssertionError);
+ }).getThrowable());
Assertions.assertEquals(npe, npeSituation);
Assertions.assertEquals(indexOut, indexOutSituation);
Assertions.assertEquals("hutool", npe);
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/lang/ValidatorTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/lang/ValidatorTest.java
index 16766e295..622342dc5 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/lang/ValidatorTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/lang/ValidatorTest.java
@@ -116,9 +116,7 @@ public class ValidatorTest {
@Test
public void validateTest() throws ValidateException {
- Assertions.assertThrows(ValidateException.class, ()->{
- Validator.validateChinese("我是一段zhongwen", "内容中包含非中文");
- });
+ Assertions.assertThrows(ValidateException.class, ()-> Validator.validateChinese("我是一段zhongwen", "内容中包含非中文"));
}
@Test
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/lang/mutable/BaseMutableTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/lang/mutable/BaseMutableTest.java
index bfc3c0727..2df6fe079 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/lang/mutable/BaseMutableTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/lang/mutable/BaseMutableTest.java
@@ -61,58 +61,58 @@ abstract class BaseMutableTest> {
@Test
void testGet() {
- Mutable mutableObj = getMutable(getValue1());
- V value = mutableObj.get();
+ final Mutable mutableObj = getMutable(getValue1());
+ final V value = mutableObj.get();
Assertions.assertEquals(getValue1(), value);
}
@Test
void testSet() {
- Mutable mutableObj = getMutable(getValue2());
+ final Mutable mutableObj = getMutable(getValue2());
mutableObj.set(getValue2());
- V value = mutableObj.get();
+ final V value = mutableObj.get();
Assertions.assertEquals(getValue2(), value);
}
@Test
void testTo() {
- Mutable mutableObj = getMutable(getValue1());
- String value = mutableObj.to(String::valueOf);
+ final Mutable mutableObj = getMutable(getValue1());
+ final String value = mutableObj.to(String::valueOf);
Assertions.assertEquals(String.valueOf(getValue1()), value);
}
@Test
void testToOpt() {
- Mutable mutableObj = getMutable(getValue1());
- V value = mutableObj.toOpt().get();
+ final Mutable mutableObj = getMutable(getValue1());
+ final V value = mutableObj.toOpt().get();
Assertions.assertEquals(getValue1(), value);
}
@Test
void testMap() {
- Mutable mutableObj = getMutable(getValue1());
- V value = mutableObj.map(v -> getValue2()).get();
+ final Mutable mutableObj = getMutable(getValue1());
+ final V value = mutableObj.map(v -> getValue2()).get();
Assertions.assertEquals(getValue2(), value);
}
@Test
void testTest() {
- Mutable mutableObj = getMutable(getValue1());
+ final Mutable mutableObj = getMutable(getValue1());
Assertions.assertTrue(mutableObj.test(Objects::nonNull));
}
@Test
void testPeek() {
- Mutable m1 = getMutable(getValue1());
- Mutable m2 = getMutable(getValue2());
+ final Mutable m1 = getMutable(getValue1());
+ final Mutable m2 = getMutable(getValue2());
m1.peek(m2::set);
Assertions.assertEquals(getValue1(), m2.get());
}
@Test
void testHashCode() {
- V value = getValue1();
- Mutable mutableObj = new MutableObj<>(value);
+ final V value = getValue1();
+ final Mutable mutableObj = new MutableObj<>(value);
Assertions.assertEquals(value.hashCode(), mutableObj.hashCode());
mutableObj.set(null);
Assertions.assertEquals(0, mutableObj.hashCode());
@@ -120,10 +120,9 @@ abstract class BaseMutableTest> {
@Test
void testEquals() {
- V value = getValue1();
- Mutable mutableObj = new MutableObj<>(value);
+ final V value = getValue1();
+ final Mutable mutableObj = new MutableObj<>(value);
Assertions.assertNotEquals(value, mutableObj);
- Assertions.assertEquals(mutableObj, mutableObj);
Assertions.assertEquals(mutableObj, new MutableObj<>(value));
Assertions.assertNotEquals(mutableObj, new MutableObj<>(null));
Assertions.assertNotEquals(mutableObj, null);
@@ -132,8 +131,8 @@ abstract class BaseMutableTest> {
@Test
void testToString() {
- V value = getValue1();
- Mutable mutableObj = new MutableObj<>(value);
+ final V value = getValue1();
+ final Mutable mutableObj = new MutableObj<>(value);
Assertions.assertEquals(value.toString(), mutableObj.toString());
mutableObj.set(null);
Assertions.assertEquals(StrValidator.NULL, mutableObj.toString());
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/lang/range/BoundedRangeTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/lang/range/BoundedRangeTest.java
index 80139e831..6fdd97bc8 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/lang/range/BoundedRangeTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/lang/range/BoundedRangeTest.java
@@ -25,7 +25,6 @@ public class BoundedRangeTest {
final BoundedRange range = new BoundedRange<>(
Bound.greaterThan(0), Bound.lessThan(10)
);
- Assertions.assertEquals(range, range);
Assertions.assertNotEquals(range, null);
Assertions.assertEquals(range, new BoundedRange<>(
Bound.greaterThan(0), Bound.lessThan(10)
@@ -66,7 +65,6 @@ public class BoundedRangeTest {
// isXXX
Assertions.assertFalse(range.isDisjoint(BoundedRange.open(0, 5)));
- Assertions.assertEquals(range, range);
Assertions.assertNotEquals(range, BoundedRange.open(0, 5));
Assertions.assertTrue(range.isIntersected(BoundedRange.open(0, 5)));
Assertions.assertTrue(range.isIntersected(range));
@@ -113,7 +111,6 @@ public class BoundedRangeTest {
Assertions.assertFalse(range.test(-1));
// isXXX
- Assertions.assertEquals(range, range);
Assertions.assertTrue(range.isDisjoint(BoundedRange.open(-5, 0))); // (-5, 0)
Assertions.assertTrue(range.isDisjoint(BoundedRange.close(-5, 0))); // [-5, 0]
Assertions.assertTrue(range.isIntersected(BoundedRange.close(-5, 1))); // [-5, 1]
@@ -154,7 +151,6 @@ public class BoundedRangeTest {
Assertions.assertFalse(range.test(-1));
// isXXX
- Assertions.assertEquals(range, range);
Assertions.assertTrue(range.isDisjoint(BoundedRange.open(-5, 0))); // (-5, 0)
Assertions.assertTrue(range.isDisjoint(BoundedRange.close(-5, 0))); // [-5, 0]
Assertions.assertTrue(range.isIntersected(BoundedRange.open(-5, 1))); // [-5, 1]
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/math/NumberUtilTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/math/NumberUtilTest.java
index 40b645be2..94c51b521 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/math/NumberUtilTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/math/NumberUtilTest.java
@@ -489,7 +489,7 @@ public class NumberUtilTest {
final String numberStr = "429900013E20220812163344551";
final Number number = NumberUtil.parseNumber(numberStr);
Assertions.assertNotNull(number);
- Assertions.assertTrue(number instanceof BigDecimal);
+ Assertions.assertInstanceOf(BigDecimal.class, number);
}
@Test
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/net/UrlDecoderTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/net/UrlDecoderTest.java
index ee3494419..4986d2505 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/net/UrlDecoderTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/net/UrlDecoderTest.java
@@ -63,14 +63,14 @@ class UrlDecoderTest {
@Test
void decodeCharSetIsNullToStrTest() {
final String hello = "你好";
- String decode = UrlDecoder.decode(hello, null, true);
+ final String decode = UrlDecoder.decode(hello, null, true);
Assertions.assertEquals(hello, decode);
}
@Test
void decodeStrIsEmptyToStrTest() {
final String strEmpty = "";
- String decode = UrlDecoder.decode(strEmpty, StandardCharsets.UTF_8, true);
+ final String decode = UrlDecoder.decode(strEmpty, StandardCharsets.UTF_8, true);
Assertions.assertEquals(strEmpty, decode);
}
@@ -78,19 +78,19 @@ class UrlDecoderTest {
void decodeStrWithUTF8ToStrTest() {
final String exceptedDecode = "你好";
final String encode = "%E4%BD%A0%E5%A5%BD";
- String s1 = UrlDecoder.decode(encode);
+ final String s1 = UrlDecoder.decode(encode);
Assertions.assertEquals(exceptedDecode, s1);
- String s2 = UrlDecoder.decode(encode, StandardCharsets.UTF_8);
+ final String s2 = UrlDecoder.decode(encode, StandardCharsets.UTF_8);
Assertions.assertEquals(exceptedDecode, s2);
- String s3 = UrlDecoder.decode(encode, true);
+ final String s3 = UrlDecoder.decode(encode, true);
Assertions.assertEquals(exceptedDecode, s3);
- String s4 = UrlDecoder.decode(encode + "+", false);
+ final String s4 = UrlDecoder.decode(encode + "+", false);
Assertions.assertEquals(exceptedDecode + "+", s4);
- String s5 = UrlDecoder.decode(encode, StandardCharsets.UTF_8, false);
+ final String s5 = UrlDecoder.decode(encode, StandardCharsets.UTF_8, false);
Assertions.assertEquals(exceptedDecode, s5);
}
@@ -98,10 +98,10 @@ class UrlDecoderTest {
void decodeStrWithUTF8ToByteTest(){
final String exceptedDecode = "你好";
final String encode = "%E4%BD%A0%E5%A5%BD";
- byte[] decode = UrlDecoder.decode(encode.getBytes(StandardCharsets.UTF_8));
+ final byte[] decode = UrlDecoder.decode(encode.getBytes(StandardCharsets.UTF_8));
Assertions.assertEquals(exceptedDecode, new String(decode,StandardCharsets.UTF_8));
- byte[] decode1 = UrlDecoder.decode((encode + "+").getBytes(StandardCharsets.UTF_8));
+ final byte[] decode1 = UrlDecoder.decode((encode + "+").getBytes(StandardCharsets.UTF_8));
Assertions.assertEquals(exceptedDecode+" ",new String(decode1,StandardCharsets.UTF_8));
}
}
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/reflect/ClassUtilTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/reflect/ClassUtilTest.java
index f53ea2589..4fb616c8a 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/reflect/ClassUtilTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/reflect/ClassUtilTest.java
@@ -56,7 +56,7 @@ class ClassUtilTest {
@Test
void testTraverseTypeHierarchy() {
// collect all superclass of child by bfs (include child)
- List> superclasses = new ArrayList<>();
+ final List> superclasses = new ArrayList<>();
ClassUtil.traverseTypeHierarchy(
Child.class, t -> !t.isInterface(), superclasses::add, true
);
@@ -80,7 +80,7 @@ class ClassUtilTest {
@Test
void testTraverseTypeHierarchyWithTerminator() {
// collect all superclass of child until Parent by bfs (include child)
- List> superclasses = new ArrayList<>();
+ final List> superclasses = new ArrayList<>();
ClassUtil.traverseTypeHierarchyWhile(
Child.class, t -> !t.isInterface(), t -> {
if (!Objects.equals(t, GrandParent.class)) {
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/reflect/method/MethodMatcherTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/reflect/method/MethodMatcherTest.java
index 135eb5316..bf794e2b7 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/reflect/method/MethodMatcherTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/reflect/method/MethodMatcherTest.java
@@ -25,41 +25,41 @@ import java.lang.reflect.Method;
*/
class MethodMatcherTest {
- private MethodMatcher matchToString = (MethodMatcher)t -> "toString".equals(t.getName());
+ private final MethodMatcher matchToString = t -> "toString".equals(t.getName());
@SneakyThrows
@Test
void test() {
- Method toString = Object.class.getDeclaredMethod("toString");
+ final Method toString = Object.class.getDeclaredMethod("toString");
Assertions.assertTrue(matchToString.test(toString));
- Method hashCode = Object.class.getDeclaredMethod("hashCode");
+ final Method hashCode = Object.class.getDeclaredMethod("hashCode");
Assertions.assertFalse(matchToString.test(hashCode));
}
@SneakyThrows
@Test
void and() {
- Method toString = Object.class.getDeclaredMethod("toString");
+ final Method toString = Object.class.getDeclaredMethod("toString");
Assertions.assertTrue(matchToString.test(toString));
- MethodMatcher newMatcher = matchToString.and(t -> t.getReturnType() == String.class);
+ final MethodMatcher newMatcher = matchToString.and(t -> t.getReturnType() == String.class);
Assertions.assertTrue(newMatcher.test(toString));
}
@SneakyThrows
@Test
void negate() {
- Method toString = Object.class.getDeclaredMethod("toString");
+ final Method toString = Object.class.getDeclaredMethod("toString");
Assertions.assertTrue(matchToString.test(toString));
- MethodMatcher newMatcher = matchToString.negate();
+ final MethodMatcher newMatcher = matchToString.negate();
Assertions.assertFalse(newMatcher.test(toString));
}
@SneakyThrows
@Test
void or() {
- MethodMatcher newMatcher = matchToString.or(t -> "hashCode".equals(t.getName()));
- Method toString = Object.class.getDeclaredMethod("toString");
- Method hashCode = Object.class.getDeclaredMethod("hashCode");
+ final MethodMatcher newMatcher = matchToString.or(t -> "hashCode".equals(t.getName()));
+ final Method toString = Object.class.getDeclaredMethod("toString");
+ final Method hashCode = Object.class.getDeclaredMethod("hashCode");
Assertions.assertTrue(newMatcher.test(toString));
Assertions.assertTrue(newMatcher.test(hashCode));
}
@@ -67,9 +67,9 @@ class MethodMatcherTest {
@SneakyThrows
@Test
void inspect() {
- Method toString = Object.class.getDeclaredMethod("toString");
+ final Method toString = Object.class.getDeclaredMethod("toString");
Assertions.assertTrue(matchToString.inspect(toString));
- Method hashCode = Object.class.getDeclaredMethod("hashCode");
+ final Method hashCode = Object.class.getDeclaredMethod("hashCode");
Assertions.assertNull(matchToString.inspect(hashCode));
}
}
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/stream/AbstractEnhancedWrappedStreamTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/stream/AbstractEnhancedWrappedStreamTest.java
index 47e01e455..2c25ef678 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/stream/AbstractEnhancedWrappedStreamTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/stream/AbstractEnhancedWrappedStreamTest.java
@@ -724,7 +724,7 @@ public class AbstractEnhancedWrappedStreamTest {
@Test
void test() {
- List>> list = Arrays.asList(
+ final List>> list = Arrays.asList(
Arrays.asList(
Arrays.asList("a"),
Arrays.asList("b", "c"),
@@ -735,7 +735,7 @@ public class AbstractEnhancedWrappedStreamTest {
Arrays.asList("j", "k", "l")
)
);
- List r = EasyStream.of(list).flat().toList();
+ final List r = EasyStream.of(list).flat().toList();
Assertions.assertArrayEquals(new String[]{"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l"}, r.toArray());
}
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/stream/StreamUtilTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/stream/StreamUtilTest.java
index c42f2263b..670ad924e 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/stream/StreamUtilTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/stream/StreamUtilTest.java
@@ -65,7 +65,7 @@ public class StreamUtilTest {
// === iterator ===
@Test
public void streamTestNullIterator() {
- Assertions.assertThrows(IllegalArgumentException.class, () -> StreamUtil.ofIter((Iterator) null));
+ Assertions.assertThrows(IllegalArgumentException.class, () -> StreamUtil.ofIter(null));
}
@SuppressWarnings({"RedundantOperationOnEmptyContainer", "RedundantCollectionOperation"})
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/text/IssueI73AB9Test.java b/hutool-core/src/test/java/org/dromara/hutool/core/text/IssueI73AB9Test.java
index ee315721e..ae15c1726 100755
--- a/hutool-core/src/test/java/org/dromara/hutool/core/text/IssueI73AB9Test.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/text/IssueI73AB9Test.java
@@ -12,7 +12,6 @@
package org.dromara.hutool.core.text;
-import org.dromara.hutool.core.lang.Console;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/text/TextSimilarityTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/text/TextSimilarityTest.java
index 739ac17ff..7ac30d782 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/text/TextSimilarityTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/text/TextSimilarityTest.java
@@ -18,10 +18,6 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Map;
-
/**
* 文本相似度计算工具类单元测试
*
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/text/split/SplitUtilTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/text/split/SplitUtilTest.java
index c9ae56acd..9045fc1a6 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/text/split/SplitUtilTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/text/split/SplitUtilTest.java
@@ -13,7 +13,6 @@
package org.dromara.hutool.core.text.split;
import org.dromara.hutool.core.collection.ListUtil;
-import org.dromara.hutool.core.lang.Console;
import org.dromara.hutool.core.text.finder.PatternFinder;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/thread/AsyncUtilTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/thread/AsyncUtilTest.java
index e7eedf4c1..200560d56 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/thread/AsyncUtilTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/thread/AsyncUtilTest.java
@@ -13,7 +13,6 @@
package org.dromara.hutool.core.thread;
import org.dromara.hutool.core.collection.ListUtil;
-import org.dromara.hutool.core.lang.Console;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
@@ -68,7 +67,7 @@ public class AsyncUtilTest {
return "真暖和";
});
// 等待完成
- List list = AsyncUtil.allOfGet(ListUtil.of(hutool, sweater, warm));
+ final List list = AsyncUtil.allOfGet(ListUtil.of(hutool, sweater, warm));
// 获取结果
Assertions.assertEquals(Arrays.asList("hutool", "卫衣", "真暖和"), list);
}
@@ -81,7 +80,7 @@ public class AsyncUtilTest {
return "hutool";
});
final CompletableFuture sweater = CompletableFuture.supplyAsync(() -> {
- int a = 1 / 0;
+ final int a = 1 / 0;
ThreadUtil.sleep(2, TimeUnit.SECONDS);
return "卫衣";
});
@@ -90,7 +89,7 @@ public class AsyncUtilTest {
return "真暖和";
});
// 等待完成
- List list = AsyncUtil.allOfGet(ListUtil.of(hutool, sweater, warm), (e) -> "出错了");
+ final List list = AsyncUtil.allOfGet(ListUtil.of(hutool, sweater, warm), (e) -> "出错了");
// 获取结果
Assertions.assertEquals(Arrays.asList("hutool", "卫衣", "真暖和"), list);
}
@@ -111,7 +110,7 @@ public class AsyncUtilTest {
return "真暖和";
});
// 等待完成
- List list = AsyncUtil.parallelAllOfGet(ListUtil.of(hutool, sweater, warm));
+ final List list = AsyncUtil.parallelAllOfGet(ListUtil.of(hutool, sweater, warm));
// 获取结果
Assertions.assertEquals(Arrays.asList("hutool", "卫衣", "真暖和"), list);
}
@@ -124,7 +123,7 @@ public class AsyncUtilTest {
return "hutool";
});
final CompletableFuture sweater = CompletableFuture.supplyAsync(() -> {
- int a = 1 / 0;
+ final int a = 1 / 0;
ThreadUtil.sleep(2, TimeUnit.SECONDS);
return "卫衣";
});
@@ -133,7 +132,7 @@ public class AsyncUtilTest {
return "真暖和";
});
// 等待完成
- List list = AsyncUtil.parallelAllOfGet(ListUtil.of(hutool, sweater, warm), (e) -> "出错了");
+ final List list = AsyncUtil.parallelAllOfGet(ListUtil.of(hutool, sweater, warm), (e) -> "出错了");
Assertions.assertEquals(Arrays.asList("hutool", "出错了", "真暖和"), list);
}
}
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/thread/SyncFinisherTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/thread/SyncFinisherTest.java
index a1942925d..6abd61d5c 100755
--- a/hutool-core/src/test/java/org/dromara/hutool/core/thread/SyncFinisherTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/thread/SyncFinisherTest.java
@@ -23,6 +23,7 @@ public class SyncFinisherTest {
/**
* https://gitee.com/dromara/hutool/issues/I716SX
*/
+ @SuppressWarnings("DataFlowIssue")
@Test
void executeExceptionTest() {
final AtomicBoolean hasException = new AtomicBoolean(false);
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/thread/ThreadUtilTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/thread/ThreadUtilTest.java
index 8c045f2e7..ba72a9398 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/thread/ThreadUtilTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/thread/ThreadUtilTest.java
@@ -13,6 +13,7 @@
package org.dromara.hutool.core.thread;
import org.dromara.hutool.core.date.TimeUtil;
+import org.dromara.hutool.core.exception.HutoolException;
import org.dromara.hutool.core.util.RandomUtil;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Disabled;
@@ -38,14 +39,14 @@ public class ThreadUtilTest {
@Test
@Disabled
public void phaserTest(){
- LocalDateTime now = TimeUtil.parse("2022-08-04T22:59:59+08:00", DateTimeFormatter.ISO_OFFSET_DATE_TIME);
+ final LocalDateTime now = TimeUtil.parse("2022-08-04T22:59:59+08:00", DateTimeFormatter.ISO_OFFSET_DATE_TIME);
Assertions.assertNotNull(now);
- int repeat = 30; // 执行的轮数配置
- Phaser phaser = new Phaser() { // 进行一些处理方法的覆写
+ final int repeat = 30; // 执行的轮数配置
+ final Phaser phaser = new Phaser() { // 进行一些处理方法的覆写
//返回ture: 移相器终止,false: 移相器继续执行
@Override
- protected boolean onAdvance(int phase, int registeredParties) { // 回调处理
+ protected boolean onAdvance(final int phase, final int registeredParties) { // 回调处理
System.out.printf("【onAdvance()处理】进阶处理操作,phase = %s、registeredParties = %s%n",
phase, registeredParties);
return phase + 1 >= repeat || registeredParties == 0; // 终止处理
@@ -57,11 +58,11 @@ public class ThreadUtilTest {
while (!phaser.isTerminated()) { // 现在没有终止Phaser执行
try {
TimeUnit.SECONDS.sleep(RandomUtil.randomInt(1, 10)); // 增加操作延迟,模拟各个线程执行时间不多。阿超、阿珍准备爱果的时间不同
- } catch (InterruptedException e) {
- e.printStackTrace();
+ } catch (final InterruptedException e) {
+ throw new HutoolException(e);
}
phaser.arriveAndAwaitAdvance(); // 等待其他的线程就位; 准备就绪,并等待其他线程就绪; 阿超、阿珍准备好了爱果,相互等待见面共度美好的一天
- String date = TimeUtil.formatNormal(now.plusYears(phaser.getPhase() - 1)); // 增加一年
+ final String date = TimeUtil.formatNormal(now.plusYears(phaser.getPhase() - 1)); // 增加一年
System.out.printf("【%s】%s 阿超和阿珍共度了一个美好的七夕。%n", date, Thread.currentThread().getName());
ThreadUtil.sleep(3, TimeUnit.SECONDS);
}
@@ -74,10 +75,10 @@ public class ThreadUtilTest {
@Test
public void cyclicBarrierTest(){
//示例:7个同学,集齐7个龙珠,7个同学一起召唤神龙;前后集齐了2次
- AtomicInteger times = new AtomicInteger();
- CyclicBarrier barrier = new CyclicBarrier(7, ()->{
- System.out.println("");
- System.out.println("");
+ final AtomicInteger times = new AtomicInteger();
+ final CyclicBarrier barrier = new CyclicBarrier(7, ()->{
+ System.out.println(" ");
+ System.out.println(" ");
System.out.println("【循环栅栏业务处理】7个子线程 都收集了一颗龙珠,七颗龙珠已经收集齐全,开始召唤神龙。" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
times.getAndIncrement();
}); // 现在设置的栅栏的数量为2
@@ -86,15 +87,15 @@ public class ThreadUtilTest {
while (times.get() < 2) {
try {
System.out.printf("【Barrier - 收集龙珠】当前的线程名称:%s%n", Thread.currentThread().getName());
- int time = ThreadLocalRandom.current().nextInt(1, 10); // 等待一段时间,模拟线程的执行时间
+ final int time = ThreadLocalRandom.current().nextInt(1, 10); // 等待一段时间,模拟线程的执行时间
TimeUnit.SECONDS.sleep(time); // 模拟业务延迟,收集龙珠的时间
barrier.await(); // 等待,凑够了7个等待的线程
System.err.printf("〖Barrier - 举起龙珠召唤神龙〗当前的线程名称:%s\t%s%n", Thread.currentThread().getName(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
if (barrier.getParties() >= 7) {
barrier.reset(); // 重置栅栏,等待下一次的召唤。
}
- } catch (Exception e) {
- e.printStackTrace();
+ } catch (final Exception e) {
+ throw new HutoolException(e);
}
}
}, "线程 - " + x).start();
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/util/ByteUtilTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/util/ByteUtilTest.java
index fe337f1d8..0e963ae7a 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/util/ByteUtilTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/util/ByteUtilTest.java
@@ -12,7 +12,6 @@
package org.dromara.hutool.core.util;
-import org.dromara.hutool.core.lang.Console;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/util/ReferenceUtilTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/util/ReferenceUtilTest.java
index 327edfdb5..656ac6a76 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/util/ReferenceUtilTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/util/ReferenceUtilTest.java
@@ -14,7 +14,6 @@ package org.dromara.hutool.core.util;
import org.dromara.hutool.core.lang.Console;
import org.dromara.hutool.core.lang.mutable.MutableObj;
-import org.dromara.hutool.core.util.ReferenceUtil;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
@@ -29,21 +28,21 @@ public class ReferenceUtilTest {
@Test
public void createWeakTest(){
final Reference integerReference = ReferenceUtil.of(ReferenceUtil.ReferenceType.WEAK, 1);
- Assertions.assertTrue(integerReference instanceof WeakReference);
- Assertions.assertEquals(new Integer(1), integerReference.get());
+ Assertions.assertInstanceOf(WeakReference.class, integerReference);
+ Assertions.assertEquals(Integer.valueOf(1), integerReference.get());
}
@Test
public void createSoftTest(){
final Reference integerReference = ReferenceUtil.of(ReferenceUtil.ReferenceType.SOFT, 1);
- Assertions.assertTrue(integerReference instanceof SoftReference);
- Assertions.assertEquals(new Integer(1), integerReference.get());
+ Assertions.assertInstanceOf(SoftReference.class, integerReference);
+ Assertions.assertEquals(Integer.valueOf(1), integerReference.get());
}
@Test
public void createPhantomTest(){
final Reference integerReference = ReferenceUtil.of(ReferenceUtil.ReferenceType.PHANTOM, 1);
- Assertions.assertTrue(integerReference instanceof PhantomReference);
+ Assertions.assertInstanceOf(PhantomReference.class, integerReference);
// get方法永远都返回null,PhantomReference只能用来监控对象的GC状况
Assertions.assertNull(integerReference.get());
}
diff --git a/hutool-cron/src/main/java/org/dromara/hutool/cron/CronTimer.java b/hutool-cron/src/main/java/org/dromara/hutool/cron/CronTimer.java
index 420481c20..085f01818 100644
--- a/hutool-cron/src/main/java/org/dromara/hutool/cron/CronTimer.java
+++ b/hutool-cron/src/main/java/org/dromara/hutool/cron/CronTimer.java
@@ -15,7 +15,6 @@ package org.dromara.hutool.cron;
import org.dromara.hutool.core.date.DateUnit;
import org.dromara.hutool.core.thread.ThreadUtil;
import org.dromara.hutool.log.Log;
-import org.dromara.hutool.log.LogFactory;
import java.io.Serializable;
diff --git a/hutool-crypto/src/main/java/org/dromara/hutool/crypto/CryptoException.java b/hutool-crypto/src/main/java/org/dromara/hutool/crypto/CryptoException.java
index bef7e175f..98038e649 100644
--- a/hutool-crypto/src/main/java/org/dromara/hutool/crypto/CryptoException.java
+++ b/hutool-crypto/src/main/java/org/dromara/hutool/crypto/CryptoException.java
@@ -12,9 +12,7 @@
package org.dromara.hutool.crypto;
-import org.dromara.hutool.core.exception.ExceptionUtil;
import org.dromara.hutool.core.exception.HutoolException;
-import org.dromara.hutool.core.text.StrUtil;
/**
* 加密异常
diff --git a/hutool-crypto/src/main/java/org/dromara/hutool/crypto/digest/otp/TOTP.java b/hutool-crypto/src/main/java/org/dromara/hutool/crypto/digest/otp/TOTP.java
index c5387788c..c0e7cce9c 100644
--- a/hutool-crypto/src/main/java/org/dromara/hutool/crypto/digest/otp/TOTP.java
+++ b/hutool-crypto/src/main/java/org/dromara/hutool/crypto/digest/otp/TOTP.java
@@ -28,12 +28,12 @@ import java.time.Instant;
* 参考:https://github.com/jchambers/java-otp
* OTP基于具有时间戳计数器的OTP。
* 通过定义纪元(T0)的开始并以时间间隔(TI)为单位计数,将当前时间戳变为整数时间计数器(TC)。 例如:
- *
+ *
* TC = floor,
* TOTP = HOTP(SecretKey,TC),
* TOTP-Value = TOTP mod 10d,其中d是一次性密码的所需位数。
* 像google auth的二步认证使用了这种方式。
- *
+ *
* 认证过程
* 生成二维码,带有otpauth链接的google地址
* 生成公用密钥
@@ -42,8 +42,7 @@ import java.time.Instant;
* app每30秒生成一个6位校验码,用户使用这个码来网站进行登陆
* 服务器使用存储的密钥+fmac算法生成6位随机数,与客户端传来的数进行对比
* 两个码相等,授权成功,反之,失败.(注意,服务端可以根据当前登陆的用户名拿到它的密钥,有了密钥,再进行totp的算法生成校验码)
- *
- *
+ *
* 登陆的过程整理
* 用户和密码先登陆
* session里存储了用户名等信息
@@ -53,7 +52,6 @@ import java.time.Instant;
* 提交到服务端,服务端根据用户名取出对应的密钥,然后使用totp算法生成6位数字
* 如果服务端与客户端数字相同,表示登陆成功!
*
- *
* @author Looly
*/
public class TOTP extends HOTP {
diff --git a/hutool-crypto/src/test/java/org/dromara/hutool/crypto/symmetric/AESTest.java b/hutool-crypto/src/test/java/org/dromara/hutool/crypto/symmetric/AESTest.java
index 5be3bfa94..ae921fb2b 100644
--- a/hutool-crypto/src/test/java/org/dromara/hutool/crypto/symmetric/AESTest.java
+++ b/hutool-crypto/src/test/java/org/dromara/hutool/crypto/symmetric/AESTest.java
@@ -14,7 +14,6 @@ package org.dromara.hutool.crypto.symmetric;
import org.dromara.hutool.core.codec.binary.Base64;
import org.dromara.hutool.core.codec.HexUtil;
-import org.dromara.hutool.core.lang.Console;
import org.dromara.hutool.core.util.RandomUtil;
import org.dromara.hutool.crypto.KeyUtil;
import org.dromara.hutool.crypto.Mode;
diff --git a/hutool-crypto/src/test/java/org/dromara/hutool/crypto/symmetric/ChaCha20Test.java b/hutool-crypto/src/test/java/org/dromara/hutool/crypto/symmetric/ChaCha20Test.java
index 0bfb76110..9febc9e82 100644
--- a/hutool-crypto/src/test/java/org/dromara/hutool/crypto/symmetric/ChaCha20Test.java
+++ b/hutool-crypto/src/test/java/org/dromara/hutool/crypto/symmetric/ChaCha20Test.java
@@ -24,7 +24,7 @@ public class ChaCha20Test {
@Test
public void encryptAndDecryptTest() {
- // 32 for 256 bit key or 16 for 128 bit
+ // 32 for 256-bit key or 16 for 128 bit
final byte[] key = RandomUtil.randomBytes(32);
// 64 bit IV required by ChaCha20
final byte[] iv = RandomUtil.randomBytes(12);
diff --git a/hutool-crypto/src/test/java/org/dromara/hutool/crypto/symmetric/DesTest.java b/hutool-crypto/src/test/java/org/dromara/hutool/crypto/symmetric/DesTest.java
index 1681f28f5..fa861e7f6 100644
--- a/hutool-crypto/src/test/java/org/dromara/hutool/crypto/symmetric/DesTest.java
+++ b/hutool-crypto/src/test/java/org/dromara/hutool/crypto/symmetric/DesTest.java
@@ -12,7 +12,6 @@
package org.dromara.hutool.crypto.symmetric;
-import org.dromara.hutool.core.lang.Console;
import org.dromara.hutool.core.text.StrUtil;
import org.dromara.hutool.core.util.ByteUtil;
import org.dromara.hutool.crypto.KeyUtil;
diff --git a/hutool-crypto/src/test/java/org/dromara/hutool/crypto/symmetric/RC4Test.java b/hutool-crypto/src/test/java/org/dromara/hutool/crypto/symmetric/RC4Test.java
index 477af368c..76dd039d7 100644
--- a/hutool-crypto/src/test/java/org/dromara/hutool/crypto/symmetric/RC4Test.java
+++ b/hutool-crypto/src/test/java/org/dromara/hutool/crypto/symmetric/RC4Test.java
@@ -13,7 +13,6 @@
package org.dromara.hutool.crypto.symmetric;
import org.dromara.hutool.core.util.CharsetUtil;
-import org.dromara.hutool.crypto.provider.GlobalProviderFactory;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git a/hutool-db/src/main/java/org/dromara/hutool/db/Session.java b/hutool-db/src/main/java/org/dromara/hutool/db/Session.java
index bbec23986..233456ac4 100644
--- a/hutool-db/src/main/java/org/dromara/hutool/db/Session.java
+++ b/hutool-db/src/main/java/org/dromara/hutool/db/Session.java
@@ -18,7 +18,6 @@ import org.dromara.hutool.db.dialect.Dialect;
import org.dromara.hutool.db.dialect.DialectFactory;
import org.dromara.hutool.db.ds.DSUtil;
import org.dromara.hutool.log.Log;
-import org.dromara.hutool.log.LogFactory;
import javax.sql.DataSource;
import java.io.Closeable;
diff --git a/hutool-db/src/main/java/org/dromara/hutool/db/sql/SqlFormatter.java b/hutool-db/src/main/java/org/dromara/hutool/db/sql/SqlFormatter.java
index 695d5c344..cdca13ffd 100644
--- a/hutool-db/src/main/java/org/dromara/hutool/db/sql/SqlFormatter.java
+++ b/hutool-db/src/main/java/org/dromara/hutool/db/sql/SqlFormatter.java
@@ -72,6 +72,12 @@ public class SqlFormatter {
private static final String indentString = " ";
private static final String initial = "\n ";
+ /**
+ * 格式化
+ *
+ * @param source SQL语句
+ * @return 格式化后的SQL
+ */
public static String format(final String source) {
return new FormatProcess(source).perform().trim();
}
@@ -110,24 +116,31 @@ public class SqlFormatter {
this.token = this.tokens.nextToken();
this.lcToken = this.token.toLowerCase();
- if ("'".equals(this.token)) {
- String t;
- do {
- t = this.tokens.nextToken();
- this.token += t;
- } while ((!"'".equals(t)) && (this.tokens.hasMoreTokens()));
- } else if ("\"".equals(this.token)) {
- String t;
- do {
- t = this.tokens.nextToken();
- this.token += t;
- } while (!"\"".equals(t));
- } else if ("`".equals(this.token)) {
- String t;
- do {
- t = this.tokens.nextToken();
- this.token += t;
- } while (!"`".equals(t));
+ switch (this.token) {
+ case "'": {
+ String t;
+ do {
+ t = this.tokens.nextToken();
+ this.token += t;
+ } while ((!"'".equals(t)) && (this.tokens.hasMoreTokens()));
+ break;
+ }
+ case "\"": {
+ String t;
+ do {
+ t = this.tokens.nextToken();
+ this.token += t;
+ } while (!"\"".equals(t));
+ break;
+ }
+ case "`": {
+ String t;
+ do {
+ t = this.tokens.nextToken();
+ this.token += t;
+ } while (!"`".equals(t));
+ break;
+ }
}
if ((this.afterByOrSetOrFromOrSelect) && (",".equals(this.token))) {
diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/spring/SpringCglibInterceptor.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/spring/SpringCglibInterceptor.java
index c0f5ab31c..73bd610f3 100644
--- a/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/spring/SpringCglibInterceptor.java
+++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/spring/SpringCglibInterceptor.java
@@ -12,7 +12,6 @@
package org.dromara.hutool.extra.aop.engine.spring;
-import org.dromara.hutool.core.exception.ExceptionUtil;
import org.dromara.hutool.extra.aop.Aspect;
import org.dromara.hutool.extra.aop.SimpleInterceptor;
import org.springframework.cglib.proxy.MethodInterceptor;
diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/management/ManagementUtil.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/management/ManagementUtil.java
index cdaea5e09..cc5b9910a 100644
--- a/hutool-extra/src/main/java/org/dromara/hutool/extra/management/ManagementUtil.java
+++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/management/ManagementUtil.java
@@ -238,7 +238,7 @@ public class ManagementUtil {
* 获取Java虚拟机中的{@link MemoryPoolMXBean}列表
* The Java virtual machine can have one or more memory pools. It may add or remove memory pools during execution.
*
- * @return a list of MemoryPoolMXBean objects.
+ * @return a list of MemoryPoolMXBean objects.
*/
public static List getMemoryPoolMXBeans() {
return ManagementFactory.getMemoryPoolMXBeans();
@@ -248,7 +248,7 @@ public class ManagementUtil {
* 获取Java虚拟机中的{@link MemoryManagerMXBean}列表
* The Java virtual machine can have one or more memory managers. It may add or remove memory managers during execution.
*
- * @return a list of MemoryManagerMXBean objects.
+ * @return a list of MemoryManagerMXBean objects.
*/
public static List getMemoryManagerMXBeans() {
return ManagementFactory.getMemoryManagerMXBeans();
diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/qrcode/QrDecoder.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/qrcode/QrDecoder.java
index d423d1d6b..3ab207d19 100644
--- a/hutool-extra/src/main/java/org/dromara/hutool/extra/qrcode/QrDecoder.java
+++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/qrcode/QrDecoder.java
@@ -26,7 +26,6 @@ import com.google.zxing.common.GlobalHistogramBinarizer;
import com.google.zxing.common.HybridBinarizer;
import java.awt.Image;
-import java.awt.image.BufferedImage;
import java.util.HashMap;
import java.util.Map;
diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/tokenizer/engine/mmseg/MmsegEngine.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/tokenizer/engine/mmseg/MmsegEngine.java
index 4999d63f0..874b320dc 100644
--- a/hutool-extra/src/main/java/org/dromara/hutool/extra/tokenizer/engine/mmseg/MmsegEngine.java
+++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/tokenizer/engine/mmseg/MmsegEngine.java
@@ -20,8 +20,6 @@ import com.chenlb.mmseg4j.ComplexSeg;
import com.chenlb.mmseg4j.Dictionary;
import com.chenlb.mmseg4j.MMSeg;
-import java.io.StringReader;
-
/**
* mmseg4j分词引擎实现
* 项目地址:https://github.com/chenlb/mmseg4j-core
diff --git a/hutool-extra/src/test/java/org/dromara/hutool/extra/ssh/SftpTest.java b/hutool-extra/src/test/java/org/dromara/hutool/extra/ssh/SftpTest.java
index ec115f2a5..07d1381ad 100644
--- a/hutool-extra/src/test/java/org/dromara/hutool/extra/ssh/SftpTest.java
+++ b/hutool-extra/src/test/java/org/dromara/hutool/extra/ssh/SftpTest.java
@@ -12,7 +12,6 @@
package org.dromara.hutool.extra.ssh;
-import org.dromara.hutool.core.util.CharsetUtil;
import org.dromara.hutool.extra.ssh.engine.sshj.SshjSftp;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/jdk/JdkHttpResponse.java b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/jdk/JdkHttpResponse.java
index 74457a4d1..f372d6962 100644
--- a/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/jdk/JdkHttpResponse.java
+++ b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/jdk/JdkHttpResponse.java
@@ -14,7 +14,6 @@ package org.dromara.hutool.http.client.engine.jdk;
import org.dromara.hutool.core.io.IoUtil;
import org.dromara.hutool.core.io.stream.EmptyInputStream;
-import org.dromara.hutool.core.text.StrUtil;
import org.dromara.hutool.core.array.ArrayUtil;
import org.dromara.hutool.core.util.ObjUtil;
import org.dromara.hutool.http.HttpException;
@@ -32,7 +31,6 @@ import java.nio.charset.Charset;
import java.util.Collections;
import java.util.List;
import java.util.Map;
-import java.util.Map.Entry;
/**
* Http响应类
diff --git a/hutool-http/src/test/java/org/dromara/hutool/http/DownloadTest.java b/hutool-http/src/test/java/org/dromara/hutool/http/DownloadTest.java
index abc887409..b9e85d887 100644
--- a/hutool-http/src/test/java/org/dromara/hutool/http/DownloadTest.java
+++ b/hutool-http/src/test/java/org/dromara/hutool/http/DownloadTest.java
@@ -47,6 +47,7 @@ public class DownloadTest {
Console.log("ok");
}
+ @SuppressWarnings("resource")
@Test
@Disabled
public void downloadSizeTest() {
@@ -123,9 +124,9 @@ public class DownloadTest {
Assertions.assertTrue(file.exists());
Assertions.assertTrue(file.isFile());
Assertions.assertTrue(file.length() > 0);
- Assertions.assertTrue(file.getName().length() > 0);
+ Assertions.assertFalse(file.getName().isEmpty());
} catch (final Exception e) {
- Assertions.assertTrue(e instanceof IORuntimeException);
+ Assertions.assertInstanceOf(IORuntimeException.class, e);
} finally {
FileUtil.del(file);
}
@@ -157,7 +158,7 @@ public class DownloadTest {
Assertions.assertTrue(file.exists());
Assertions.assertTrue(file.isFile());
Assertions.assertTrue(file.length() > 0);
- Assertions.assertTrue(file.getName().length() > 0);
+ Assertions.assertFalse(file.getName().isEmpty());
} finally {
FileUtil.del(file);
}
@@ -174,9 +175,9 @@ public class DownloadTest {
Assertions.assertTrue(file.exists());
Assertions.assertTrue(file.isFile());
Assertions.assertTrue(file.length() > 0);
- Assertions.assertTrue(file.getName().length() > 0);
+ Assertions.assertFalse(file.getName().isEmpty());
} catch (final Exception e) {
- Assertions.assertTrue(e instanceof IORuntimeException);
+ Assertions.assertInstanceOf(IORuntimeException.class, e);
} finally {
FileUtil.del(file);
}
diff --git a/hutool-json/src/main/java/org/dromara/hutool/json/jwt/signers/AsymmetricJWTSigner.java b/hutool-json/src/main/java/org/dromara/hutool/json/jwt/signers/AsymmetricJWTSigner.java
index a49e9ba6a..d3175199b 100644
--- a/hutool-json/src/main/java/org/dromara/hutool/json/jwt/signers/AsymmetricJWTSigner.java
+++ b/hutool-json/src/main/java/org/dromara/hutool/json/jwt/signers/AsymmetricJWTSigner.java
@@ -80,7 +80,7 @@ public class AsymmetricJWTSigner implements JWTSigner {
* @param data 数据
* @return 签名
*/
- protected byte[] sign(byte[] data) {
+ protected byte[] sign(final byte[] data) {
return sign.sign(data);
}
@@ -98,7 +98,7 @@ public class AsymmetricJWTSigner implements JWTSigner {
* @param signed 签名
* @return 是否通过
*/
- protected boolean verify(byte[] data, byte[] signed) {
+ protected boolean verify(final byte[] data, final byte[] signed) {
return sign.verify(data, signed);
}
diff --git a/hutool-json/src/test/java/org/dromara/hutool/json/Issue3274Test.java b/hutool-json/src/test/java/org/dromara/hutool/json/Issue3274Test.java
index 47866b60b..1737ed095 100755
--- a/hutool-json/src/test/java/org/dromara/hutool/json/Issue3274Test.java
+++ b/hutool-json/src/test/java/org/dromara/hutool/json/Issue3274Test.java
@@ -19,7 +19,7 @@ import org.junit.jupiter.api.Test;
public class Issue3274Test {
@Test
- public void toBeanTest(){
+ public void toBeanTest() {
final JSONObject entries = new JSONObject("{\n" +
" \n" +
" \"age\": 36,\n" +
@@ -33,20 +33,21 @@ public class Issue3274Test {
@Data
static class LarkCoreHrPersonal {
private String id;
- private String age="";
+ private String age = "";
private Gender gender;
}
@Getter
enum Gender {
- male("male","Male","男"),
- female("female","Female","女"),
- other("other","Other","其他");
- private JSONArray display;
- private String enum_name;
- Gender(final String enum_name, final String en_Us, final String zh_CN){
- this.enum_name=enum_name;
- this.display=new JSONArray("[{\"lang\": \"en-US\",\"value\": \""+en_Us+"\"},{\"lang\": \"zh-CN\",\"value\": \""+zh_CN+"\"}]");
+ male("male", "Male", "男"),
+ female("female", "Female", "女"),
+ other("other", "Other", "其他");
+ private final JSONArray display;
+ private final String enum_name;
+
+ Gender(final String enum_name, final String en_Us, final String zh_CN) {
+ this.enum_name = enum_name;
+ this.display = new JSONArray("[{\"lang\": \"en-US\",\"value\": \"" + en_Us + "\"},{\"lang\": \"zh-CN\",\"value\": \"" + zh_CN + "\"}]");
}
}
}
diff --git a/hutool-json/src/test/java/org/dromara/hutool/json/IssueI7GPGXTest.java b/hutool-json/src/test/java/org/dromara/hutool/json/IssueI7GPGXTest.java
index 6061c97b5..b46b62066 100755
--- a/hutool-json/src/test/java/org/dromara/hutool/json/IssueI7GPGXTest.java
+++ b/hutool-json/src/test/java/org/dromara/hutool/json/IssueI7GPGXTest.java
@@ -12,7 +12,6 @@
package org.dromara.hutool.json;
-import org.dromara.hutool.core.lang.Console;
import org.dromara.hutool.core.lang.tuple.Pair;
import org.dromara.hutool.core.lang.tuple.Triple;
import org.dromara.hutool.core.lang.tuple.Tuple;
diff --git a/hutool-json/src/test/java/org/dromara/hutool/json/JSONUtilTest.java b/hutool-json/src/test/java/org/dromara/hutool/json/JSONUtilTest.java
index c7f013770..e3d3882a8 100644
--- a/hutool-json/src/test/java/org/dromara/hutool/json/JSONUtilTest.java
+++ b/hutool-json/src/test/java/org/dromara/hutool/json/JSONUtilTest.java
@@ -14,7 +14,6 @@ package org.dromara.hutool.json;
import org.dromara.hutool.core.collection.ListUtil;
import org.dromara.hutool.core.date.DateUtil;
-import org.dromara.hutool.core.lang.Console;
import org.dromara.hutool.core.map.MapUtil;
import org.dromara.hutool.core.math.NumberUtil;
import org.dromara.hutool.json.serialize.JSONStringer;
diff --git a/hutool-log/src/main/java/org/dromara/hutool/log/engine/log4j/Log4jLogEngine.java b/hutool-log/src/main/java/org/dromara/hutool/log/engine/log4j/Log4jLogEngine.java
index a461c80b3..188ddb695 100644
--- a/hutool-log/src/main/java/org/dromara/hutool/log/engine/log4j/Log4jLogEngine.java
+++ b/hutool-log/src/main/java/org/dromara/hutool/log/engine/log4j/Log4jLogEngine.java
@@ -14,7 +14,6 @@ package org.dromara.hutool.log.engine.log4j;
import org.dromara.hutool.log.AbsLogEngine;
import org.dromara.hutool.log.Log;
-import org.dromara.hutool.log.LogFactory;
/**
* Apache Log4J log.
diff --git a/hutool-poi/src/main/java/org/dromara/hutool/poi/excel/RowUtil.java b/hutool-poi/src/main/java/org/dromara/hutool/poi/excel/RowUtil.java
index 618e19969..944f16cb5 100644
--- a/hutool-poi/src/main/java/org/dromara/hutool/poi/excel/RowUtil.java
+++ b/hutool-poi/src/main/java/org/dromara/hutool/poi/excel/RowUtil.java
@@ -13,7 +13,6 @@
package org.dromara.hutool.poi.excel;
import org.dromara.hutool.core.collection.ListUtil;
-import org.dromara.hutool.core.lang.Console;
import org.dromara.hutool.core.text.StrUtil;
import org.dromara.hutool.poi.excel.cell.CellEditor;
import org.dromara.hutool.poi.excel.cell.CellUtil;
@@ -25,7 +24,6 @@ import org.apache.poi.ss.util.CellRangeUtil;
import java.util.ArrayList;
import java.util.List;
-import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
diff --git a/hutool-setting/src/main/java/org/dromara/hutool/setting/Setting.java b/hutool-setting/src/main/java/org/dromara/hutool/setting/Setting.java
index 3b8d67ee5..b92e0416e 100644
--- a/hutool-setting/src/main/java/org/dromara/hutool/setting/Setting.java
+++ b/hutool-setting/src/main/java/org/dromara/hutool/setting/Setting.java
@@ -214,6 +214,8 @@ public class Setting extends AbsSetting implements Map {
// 先关闭之前的监听
IoUtil.closeQuietly(this.watchMonitor);
this.watchMonitor = WatchUtil.ofModify(resource.getUrl(), new SimpleWatcher() {
+ private static final long serialVersionUID = 5190107321461226190L;
+
@Override
public void onModify(final WatchEvent> event, final WatchKey key) {
final boolean success = load();
diff --git a/hutool-setting/src/main/java/org/dromara/hutool/setting/props/Props.java b/hutool-setting/src/main/java/org/dromara/hutool/setting/props/Props.java
index 58462d2e6..5a91fb77b 100644
--- a/hutool-setting/src/main/java/org/dromara/hutool/setting/props/Props.java
+++ b/hutool-setting/src/main/java/org/dromara/hutool/setting/props/Props.java
@@ -231,6 +231,8 @@ public final class Props extends Properties implements TypeGetter
// 先关闭之前的监听
IoUtil.closeQuietly(this.watchMonitor);
this.watchMonitor = WatchUtil.ofModify(this.resource.getUrl(), new SimpleWatcher() {
+ private static final long serialVersionUID = 1L;
+
@Override
public void onModify(final WatchEvent> event, final WatchKey key) {
load();
diff --git a/hutool-setting/src/main/java/org/dromara/hutool/setting/toml/TomlWriter.java b/hutool-setting/src/main/java/org/dromara/hutool/setting/toml/TomlWriter.java
index 31aeba8c3..970ee7c22 100644
--- a/hutool-setting/src/main/java/org/dromara/hutool/setting/toml/TomlWriter.java
+++ b/hutool-setting/src/main/java/org/dromara/hutool/setting/toml/TomlWriter.java
@@ -15,6 +15,7 @@ package org.dromara.hutool.setting.toml;
import org.dromara.hutool.core.array.ArrayUtil;
import org.dromara.hutool.core.io.IORuntimeException;
import org.dromara.hutool.core.text.CharUtil;
+import org.dromara.hutool.core.text.StrUtil;
import org.dromara.hutool.setting.SettingException;
import java.io.IOException;
@@ -199,7 +200,7 @@ public class TomlWriter {
indent();
writeKey(name);
write(" = ");
- writeString(ArrayUtil.toString(array));
+ writeString(StrUtil.emptyIfNull(ArrayUtil.toString(array)));
}
} else if (value instanceof Map) {// table
if (simpleValues) {
diff --git a/hutool-setting/src/test/java/org/dromara/hutool/setting/toml/TomlTest.java b/hutool-setting/src/test/java/org/dromara/hutool/setting/toml/TomlTest.java
index 0d3fbd53b..486da2a25 100644
--- a/hutool-setting/src/test/java/org/dromara/hutool/setting/toml/TomlTest.java
+++ b/hutool-setting/src/test/java/org/dromara/hutool/setting/toml/TomlTest.java
@@ -13,7 +13,6 @@
package org.dromara.hutool.setting.toml;
import org.dromara.hutool.core.io.resource.ResourceUtil;
-import org.dromara.hutool.core.lang.Console;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git a/hutool-socket/src/main/java/org/dromara/hutool/socket/protocol/MsgDecoder.java b/hutool-socket/src/main/java/org/dromara/hutool/socket/protocol/MsgDecoder.java
index a5ca0cf98..7d1a61190 100644
--- a/hutool-socket/src/main/java/org/dromara/hutool/socket/protocol/MsgDecoder.java
+++ b/hutool-socket/src/main/java/org/dromara/hutool/socket/protocol/MsgDecoder.java
@@ -26,7 +26,6 @@ import org.dromara.hutool.socket.aio.AioSession;
public interface MsgDecoder {
/**
* 对于从Socket流中获取到的数据采用当前MsgDecoder的实现类协议进行解析。
- *
*
* @param session 本次需要解码的session
* @param readBuffer 待处理的读buffer
diff --git a/hutool-swing/src/main/java/org/dromara/hutool/swing/img/FontUtil.java b/hutool-swing/src/main/java/org/dromara/hutool/swing/img/FontUtil.java
index 0d2cf7c30..85d588e72 100644
--- a/hutool-swing/src/main/java/org/dromara/hutool/swing/img/FontUtil.java
+++ b/hutool-swing/src/main/java/org/dromara/hutool/swing/img/FontUtil.java
@@ -13,7 +13,6 @@
package org.dromara.hutool.swing.img;
import org.dromara.hutool.core.exception.ExceptionUtil;
-import org.dromara.hutool.core.exception.HutoolException;
import org.dromara.hutool.core.io.IORuntimeException;
import java.awt.Dimension;
diff --git a/hutool-swing/src/main/java/org/dromara/hutool/swing/img/color/AnsiLabMapping.java b/hutool-swing/src/main/java/org/dromara/hutool/swing/img/color/AnsiLabMapping.java
index f4228cbdb..77045db9d 100644
--- a/hutool-swing/src/main/java/org/dromara/hutool/swing/img/color/AnsiLabMapping.java
+++ b/hutool-swing/src/main/java/org/dromara/hutool/swing/img/color/AnsiLabMapping.java
@@ -31,7 +31,7 @@ public abstract class AnsiLabMapping {
* @param color {@link LabColor}
* @return 最接近的Ansi4BitColor
*/
- public AnsiElement lookupClosest(Color color) {
+ public AnsiElement lookupClosest(final Color color) {
return lookupClosest(new LabColor(color));
}
@@ -41,11 +41,11 @@ public abstract class AnsiLabMapping {
* @param color {@link LabColor}
* @return 最接近的Ansi4BitColor
*/
- public AnsiElement lookupClosest(LabColor color) {
+ public AnsiElement lookupClosest(final LabColor color) {
AnsiElement closest = null;
double closestDistance = Float.MAX_VALUE;
- for (Map.Entry entry : ansiLabMap.entrySet()) {
- double candidateDistance = color.getDistance(entry.getValue());
+ for (final Map.Entry entry : ansiLabMap.entrySet()) {
+ final double candidateDistance = color.getDistance(entry.getValue());
if (closest == null || candidateDistance < closestDistance) {
closestDistance = candidateDistance;
closest = entry.getKey();
diff --git a/hutool-swing/src/main/java/org/dromara/hutool/swing/img/color/LabColor.java b/hutool-swing/src/main/java/org/dromara/hutool/swing/img/color/LabColor.java
index e53f9c897..085334148 100644
--- a/hutool-swing/src/main/java/org/dromara/hutool/swing/img/color/LabColor.java
+++ b/hutool-swing/src/main/java/org/dromara/hutool/swing/img/color/LabColor.java
@@ -45,11 +45,21 @@ public class LabColor {
*/
private final double b;
- public LabColor(Integer rgb) {
+ /**
+ * 构造
+ *
+ * @param rgb RGB颜色
+ */
+ public LabColor(final Integer rgb) {
this((rgb != null) ? new Color(rgb) : null);
}
- public LabColor(Color color) {
+ /**
+ * 构造
+ *
+ * @param color {@link Color}
+ */
+ public LabColor(final Color color) {
Assert.notNull(color, "Color must not be null");
final float[] lab = fromXyz(color.getColorComponents(XYZ_COLOR_SPACE, null));
this.l = lab[0];
@@ -64,17 +74,17 @@ public class LabColor {
* @return 颜色差
*/
// See https://en.wikipedia.org/wiki/Color_difference#CIE94
- public double getDistance(LabColor other) {
- double c1 = Math.sqrt(this.a * this.a + this.b * this.b);
- double deltaC = c1 - Math.sqrt(other.a * other.a + other.b * other.b);
- double deltaA = this.a - other.a;
- double deltaB = this.b - other.b;
- double deltaH = Math.sqrt(Math.max(0.0, deltaA * deltaA + deltaB * deltaB - deltaC * deltaC));
+ public double getDistance(final LabColor other) {
+ final double c1 = Math.sqrt(this.a * this.a + this.b * this.b);
+ final double deltaC = c1 - Math.sqrt(other.a * other.a + other.b * other.b);
+ final double deltaA = this.a - other.a;
+ final double deltaB = this.b - other.b;
+ final double deltaH = Math.sqrt(Math.max(0.0, deltaA * deltaA + deltaB * deltaB - deltaC * deltaC));
return Math.sqrt(Math.max(0.0, Math.pow((this.l - other.l), 2)
- + Math.pow(deltaC / (1 + 0.045 * c1), 2) + Math.pow(deltaH / (1 + 0.015 * c1), 2.0)));
+ + Math.pow(deltaC / (1 + 0.045 * c1), 2) + Math.pow(deltaH / (1 + 0.015 * c1), 2.0)));
}
- private float[] fromXyz(float[] xyz) {
+ private float[] fromXyz(final float[] xyz) {
return fromXyz(xyz[0], xyz[1], xyz[2]);
}
@@ -90,14 +100,14 @@ public class LabColor {
* @param z Z
* @return Lab
*/
- private static float[] fromXyz(float x, float y, float z) {
+ private static float[] fromXyz(final float x, final float y, final float z) {
final double l = (f(y) - 16.0) * 116.0;
final double a = (f(x) - f(y)) * 500.0;
final double b = (f(y) - f(z)) * 200.0;
return new float[]{(float) l, (float) a, (float) b};
}
- private static double f(double t) {
+ private static double f(final double t) {
return (t > (216.0 / 24389.0)) ? Math.cbrt(t) : (1.0 / 3.0) * Math.pow(29.0 / 6.0, 2) * t + (4.0 / 29.0);
}
}