From 6facfcfc4d111c85828611e6322e5ba5416cfd00 Mon Sep 17 00:00:00 2001 From: Looly Date: Fri, 29 Dec 2023 20:55:55 +0800 Subject: [PATCH] fix code --- .../HierarchicalAnnotatedElements.java | 3 +- .../core/bean/copier/MapToBeanCopier.java | 1 - .../core/classloader/ClassLoaderUtil.java | 1 - .../core/codec/binary/Base64Decoder.java | 2 +- .../hutool/core/collection/CollUtil.java | 1 - .../hutool/core/collection/queue/Linked.java | 8 +-- .../core/collection/queue/LinkedDeque.java | 4 +- .../hutool/core/convert/ConvertException.java | 2 - .../core/convert/RegisterConverter.java | 1 - .../core/convert/impl/CurrencyConverter.java | 2 +- .../core/convert/impl/TripleConverter.java | 1 - .../hutool/core/date/BetweenFormatter.java | 2 +- .../dromara/hutool/core/date/DatePattern.java | 1 - .../hutool/core/date/chinese/ChineseDate.java | 4 +- .../core/date/format/FastDateFormat.java | 1 - .../core/date/format/FastDatePrinter.java | 4 +- .../core/date/format/parser/DateParser.java | 1 - .../date/format/parser/ISO8601DateParser.java | 1 - .../date/format/parser/NormalDateParser.java | 1 - .../hutool/core/io/buffer/FastByteBuffer.java | 2 - .../dromara/hutool/core/io/file/FileUtil.java | 1 - .../hutool/core/io/file/LineReadWatcher.java | 1 - .../dromara/hutool/core/io/file/Tailer.java | 2 + .../org/dromara/hutool/core/map/TransMap.java | 2 +- .../dromara/hutool/core/map/TreeEntry.java | 4 +- .../concurrent/ConcurrentLinkedHashMap.java | 2 +- .../hutool/core/map/concurrent/Weighers.java | 24 +++++---- .../core/map/multi/CollectionValueMap.java | 6 +-- .../hutool/core/map/multi/MultiValueMap.java | 8 +-- .../hutool/core/map/multi/SetValueMap.java | 4 +- .../dromara/hutool/core/net/url/UrlQuery.java | 2 +- .../lookup/ConstructorLookupFactory.java | 1 + .../hutool/core/text/CharSequenceUtil.java | 4 +- .../dromara/hutool/core/text/StrRepeater.java | 6 +-- .../dromara/hutool/core/text/StrTrimer.java | 2 +- .../org/dromara/hutool/core/text/dfa/NFA.java | 4 +- .../dromara/hutool/core/thread/AsyncUtil.java | 12 ++--- .../hutool/core/thread/BlockPolicy.java | 2 +- .../hutool/core/thread/SyncFinisher.java | 1 - .../core/classloader/ClassLoaderUtilTest.java | 4 -- .../hutool/core/collection/CollUtilTest.java | 4 +- .../core/collection/iter/ArrayIterTest.java | 20 ++++---- .../core/collection/iter/LineIterTest.java | 25 +++++----- .../hutool/core/convert/CastUtilTest.java | 24 ++++----- .../TemporalAccessorConverterTest.java | 3 +- .../dromara/hutool/core/date/GanzhiTest.java | 8 +-- .../hutool/core/date/IssueI82Y1LTest.java | 4 +- .../hutool/core/date/TimeUtilTest.java | 4 +- .../dromara/hutool/core/date/ZodiacTest.java | 4 +- .../hutool/core/func/LambdaFactoryTest.java | 2 +- .../hutool/core/io/file/PathUtilTest.java | 1 - .../core/io/watch/WatchMonitorTest.java | 3 -- .../io/watch/WatchServiceWrapperTest.java | 5 -- .../org/dromara/hutool/core/lang/OptTest.java | 4 +- .../hutool/core/lang/ValidatorTest.java | 4 +- .../core/lang/mutable/BaseMutableTest.java | 39 +++++++-------- .../core/lang/range/BoundedRangeTest.java | 4 -- .../hutool/core/math/NumberUtilTest.java | 2 +- .../hutool/core/net/UrlDecoderTest.java | 18 +++---- .../hutool/core/reflect/ClassUtilTest.java | 4 +- .../reflect/method/MethodMatcherTest.java | 24 ++++----- .../AbstractEnhancedWrappedStreamTest.java | 4 +- .../hutool/core/stream/StreamUtilTest.java | 2 +- .../hutool/core/text/IssueI73AB9Test.java | 1 - .../hutool/core/text/TextSimilarityTest.java | 4 -- .../hutool/core/text/split/SplitUtilTest.java | 1 - .../hutool/core/thread/AsyncUtilTest.java | 13 +++-- .../hutool/core/thread/SyncFinisherTest.java | 1 + .../hutool/core/thread/ThreadUtilTest.java | 29 +++++------ .../hutool/core/util/ByteUtilTest.java | 1 - .../hutool/core/util/ReferenceUtilTest.java | 11 ++--- .../org/dromara/hutool/cron/CronTimer.java | 1 - .../hutool/crypto/CryptoException.java | 2 - .../hutool/crypto/digest/otp/TOTP.java | 8 ++- .../hutool/crypto/symmetric/AESTest.java | 1 - .../hutool/crypto/symmetric/ChaCha20Test.java | 2 +- .../hutool/crypto/symmetric/DesTest.java | 1 - .../hutool/crypto/symmetric/RC4Test.java | 1 - .../java/org/dromara/hutool/db/Session.java | 1 - .../dromara/hutool/db/sql/SqlFormatter.java | 49 ++++++++++++------- .../engine/spring/SpringCglibInterceptor.java | 1 - .../extra/management/ManagementUtil.java | 4 +- .../hutool/extra/qrcode/QrDecoder.java | 1 - .../tokenizer/engine/mmseg/MmsegEngine.java | 2 - .../dromara/hutool/extra/ssh/SftpTest.java | 1 - .../client/engine/jdk/JdkHttpResponse.java | 2 - .../org/dromara/hutool/http/DownloadTest.java | 11 +++-- .../json/jwt/signers/AsymmetricJWTSigner.java | 4 +- .../dromara/hutool/json/Issue3274Test.java | 21 ++++---- .../dromara/hutool/json/IssueI7GPGXTest.java | 1 - .../org/dromara/hutool/json/JSONUtilTest.java | 1 - .../log/engine/log4j/Log4jLogEngine.java | 1 - .../org/dromara/hutool/poi/excel/RowUtil.java | 2 - .../org/dromara/hutool/setting/Setting.java | 2 + .../dromara/hutool/setting/props/Props.java | 2 + .../hutool/setting/toml/TomlWriter.java | 3 +- .../dromara/hutool/setting/toml/TomlTest.java | 1 - .../hutool/socket/protocol/MsgDecoder.java | 1 - .../dromara/hutool/swing/img/FontUtil.java | 1 - .../swing/img/color/AnsiLabMapping.java | 8 +-- .../hutool/swing/img/color/LabColor.java | 34 ++++++++----- 101 files changed, 271 insertions(+), 307 deletions(-) diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/annotation/HierarchicalAnnotatedElements.java b/hutool-core/src/main/java/org/dromara/hutool/core/annotation/HierarchicalAnnotatedElements.java index bf30fda8d..96026a67b 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/annotation/HierarchicalAnnotatedElements.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/annotation/HierarchicalAnnotatedElements.java @@ -214,10 +214,9 @@ public class HierarchicalAnnotatedElements implements AnnotatedElement, Iterable * @param 注解类型 * @return 注解对象 */ - @SuppressWarnings("unchecked") @Override public A[] getDeclaredAnnotationsByType(final Class annotationType) { - return (A[]) getElementMappings().stream() + return getElementMappings().stream() .map(element -> element.getDeclaredAnnotationsByType(annotationType)) .filter(ArrayUtil::isNotEmpty) .flatMap(Stream::of) diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/bean/copier/MapToBeanCopier.java b/hutool-core/src/main/java/org/dromara/hutool/core/bean/copier/MapToBeanCopier.java index 2dd6c4f87..e6e9c2f49 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/bean/copier/MapToBeanCopier.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/bean/copier/MapToBeanCopier.java @@ -15,7 +15,6 @@ package org.dromara.hutool.core.bean.copier; import org.dromara.hutool.core.bean.BeanUtil; import org.dromara.hutool.core.bean.PropDesc; import org.dromara.hutool.core.lang.Assert; -import org.dromara.hutool.core.lang.Console; import org.dromara.hutool.core.lang.mutable.MutableEntry; import org.dromara.hutool.core.map.CaseInsensitiveMap; import org.dromara.hutool.core.map.MapWrapper; diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/classloader/ClassLoaderUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/classloader/ClassLoaderUtil.java index f238cd626..1b014fe6a 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/classloader/ClassLoaderUtil.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/classloader/ClassLoaderUtil.java @@ -13,7 +13,6 @@ package org.dromara.hutool.core.classloader; import org.dromara.hutool.core.exception.HutoolException; -import org.dromara.hutool.core.lang.Console; import org.dromara.hutool.core.lang.caller.CallerUtil; import org.dromara.hutool.core.reflect.ClassDescUtil; diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/codec/binary/Base64Decoder.java b/hutool-core/src/main/java/org/dromara/hutool/core/codec/binary/Base64Decoder.java index e8c809d0a..5abc1a84d 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/codec/binary/Base64Decoder.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/codec/binary/Base64Decoder.java @@ -105,7 +105,7 @@ public class Base64Decoder implements Decoder, Serializable { return octet; } else { // 如果有非Base64字符混入,则实际结果比解析的要短,截取之 - return (byte[]) ArrayUtil.copy(octet, new byte[octetId], octetId); + return ArrayUtil.copy(octet, new byte[octetId], octetId); } } diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/collection/CollUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/collection/CollUtil.java index 21c6edc93..de59ce0dd 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/collection/CollUtil.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/collection/CollUtil.java @@ -27,7 +27,6 @@ import org.dromara.hutool.core.comparator.PropertyComparator; import org.dromara.hutool.core.convert.CompositeConverter; import org.dromara.hutool.core.convert.Convert; import org.dromara.hutool.core.exception.ExceptionUtil; -import org.dromara.hutool.core.exception.HutoolException; import org.dromara.hutool.core.func.SerBiConsumer; import org.dromara.hutool.core.func.SerConsumer3; import org.dromara.hutool.core.lang.Assert; diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/collection/queue/Linked.java b/hutool-core/src/main/java/org/dromara/hutool/core/collection/queue/Linked.java index 20231ef94..88124c86d 100755 --- a/hutool-core/src/main/java/org/dromara/hutool/core/collection/queue/Linked.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/collection/queue/Linked.java @@ -22,7 +22,7 @@ import java.util.Deque; public interface Linked> { /** - * Retrieves the previous element or null if either the element is + * Retrieves the previous element or {@code null} if either the element is * unlinked or the first element on the deque. * * @return 前一个值 @@ -30,14 +30,14 @@ public interface Linked> { T getPrevious(); /** - * Sets the previous element or null if there is no link. + * Sets the previous element or {@code null} if there is no link. * * @param prev 前一个值 */ void setPrevious(T prev); /** - * Retrieves the next element or null if either the element is + * Retrieves the next element or {@code null} if either the element is * unlinked or the last element on the deque. * * @return 下一个值 @@ -45,7 +45,7 @@ public interface Linked> { T getNext(); /** - * Sets the next element or null if there is no link. + * Sets the next element or {@code null} if there is no link. * * @param next 下一个值 */ diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/collection/queue/LinkedDeque.java b/hutool-core/src/main/java/org/dromara/hutool/core/collection/queue/LinkedDeque.java index 124223db2..2e06d5187 100755 --- a/hutool-core/src/main/java/org/dromara/hutool/core/collection/queue/LinkedDeque.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/collection/queue/LinkedDeque.java @@ -20,7 +20,7 @@ import java.util.*; * thread-safe; in the absence of external synchronization, they do not support * concurrent access by multiple threads. Null elements are prohibited. *

- * Most LinkedDeque operations run in constant time by assuming that + * Most LinkedDeque operations run in constant time by assuming that * the {@link Linked} parameter is associated with the deque instance. Any usage * that violates this assumption will result in non-deterministic behavior. *

@@ -428,7 +428,7 @@ public class LinkedDeque> extends AbstractCollection impl } /** - * Retrieves the next element to traverse to or null if there are + * Retrieves the next element to traverse to or {@code null} if there are * no more elements. */ abstract E computeNext(); diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/convert/ConvertException.java b/hutool-core/src/main/java/org/dromara/hutool/core/convert/ConvertException.java index daed821ab..d88233cfb 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/convert/ConvertException.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/convert/ConvertException.java @@ -12,9 +12,7 @@ package org.dromara.hutool.core.convert; -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-core/src/main/java/org/dromara/hutool/core/convert/RegisterConverter.java b/hutool-core/src/main/java/org/dromara/hutool/core/convert/RegisterConverter.java index 270e626ba..95ad8b325 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/convert/RegisterConverter.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/convert/RegisterConverter.java @@ -13,7 +13,6 @@ package org.dromara.hutool.core.convert; import org.dromara.hutool.core.convert.impl.*; -import org.dromara.hutool.core.date.DateTime; import org.dromara.hutool.core.lang.Opt; import org.dromara.hutool.core.lang.tuple.Pair; import org.dromara.hutool.core.lang.tuple.Triple; diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/convert/impl/CurrencyConverter.java b/hutool-core/src/main/java/org/dromara/hutool/core/convert/impl/CurrencyConverter.java index 65e155d4a..5af8bae8c 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/convert/impl/CurrencyConverter.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/convert/impl/CurrencyConverter.java @@ -26,7 +26,7 @@ public class CurrencyConverter extends AbstractConverter { private static final long serialVersionUID = 1L; @Override - protected Currency convertInternal(Class targetClass, final Object value) { + protected Currency convertInternal(final Class targetClass, final Object value) { return Currency.getInstance(convertToStr(value)); } diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/convert/impl/TripleConverter.java b/hutool-core/src/main/java/org/dromara/hutool/core/convert/impl/TripleConverter.java index 0a10e4d7c..b45b37d7c 100755 --- a/hutool-core/src/main/java/org/dromara/hutool/core/convert/impl/TripleConverter.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/convert/impl/TripleConverter.java @@ -16,7 +16,6 @@ import org.dromara.hutool.core.bean.BeanUtil; import org.dromara.hutool.core.convert.CompositeConverter; import org.dromara.hutool.core.convert.ConvertException; import org.dromara.hutool.core.convert.Converter; -import org.dromara.hutool.core.lang.tuple.Pair; import org.dromara.hutool.core.lang.tuple.Triple; import org.dromara.hutool.core.reflect.TypeReference; import org.dromara.hutool.core.reflect.TypeUtil; diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/date/BetweenFormatter.java b/hutool-core/src/main/java/org/dromara/hutool/core/date/BetweenFormatter.java index 0e69fcf8f..2acd563ff 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/date/BetweenFormatter.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/date/BetweenFormatter.java @@ -194,7 +194,7 @@ public class BetweenFormatter implements Serializable { * @param simpleMode 是否简化模式 * @return this */ - public BetweenFormatter setSimpleMode(boolean simpleMode) { + public BetweenFormatter setSimpleMode(final boolean simpleMode) { this.simpleMode = simpleMode; return this; } diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/date/DatePattern.java b/hutool-core/src/main/java/org/dromara/hutool/core/date/DatePattern.java index fd1425c63..277c6f337 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/date/DatePattern.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/date/DatePattern.java @@ -22,7 +22,6 @@ import java.time.temporal.ChronoField; import java.util.Date; import java.util.Locale; import java.util.TimeZone; -import java.util.regex.Pattern; /** * 日期格式化类,提供常用的日期格式化对象
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/date/chinese/ChineseDate.java b/hutool-core/src/main/java/org/dromara/hutool/core/date/chinese/ChineseDate.java index db67b06af..edac9a43a 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/date/chinese/ChineseDate.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/date/chinese/ChineseDate.java @@ -18,7 +18,7 @@ import org.dromara.hutool.core.date.DateTime; import org.dromara.hutool.core.date.DateUtil; import org.dromara.hutool.core.date.TimeUtil; import org.dromara.hutool.core.date.Zodiac; -import org.dromara.hutool.core.lang.Console; +import org.dromara.hutool.core.lang.Assert; import org.dromara.hutool.core.text.StrUtil; import java.time.LocalDate; @@ -62,7 +62,7 @@ public class ChineseDate { * @param date 公历日期 */ public ChineseDate(final Date date) { - this(TimeUtil.ofDate(date.toInstant())); + this(TimeUtil.ofDate(Assert.notNull(date.toInstant()))); } /** diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/date/format/FastDateFormat.java b/hutool-core/src/main/java/org/dromara/hutool/core/date/format/FastDateFormat.java index 6a832765d..b0266012f 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/date/format/FastDateFormat.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/date/format/FastDateFormat.java @@ -20,7 +20,6 @@ import org.dromara.hutool.core.date.format.parser.PositionDateParser; import java.text.DateFormat; import java.text.FieldPosition; import java.text.Format; -import java.text.ParseException; import java.text.ParsePosition; import java.time.format.DateTimeFormatter; import java.util.Calendar; diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/date/format/FastDatePrinter.java b/hutool-core/src/main/java/org/dromara/hutool/core/date/format/FastDatePrinter.java index e69a73948..b55045428 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/date/format/FastDatePrinter.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/date/format/FastDatePrinter.java @@ -506,7 +506,7 @@ public class FastDatePrinter extends SimpleDateBasic implements DatePrinter { /** * 规则 */ - private interface Rule { + public interface Rule { /** * Returns the estimated length of the result. * @@ -529,7 +529,7 @@ public class FastDatePrinter extends SimpleDateBasic implements DatePrinter { * Inner class defining a numeric rule. *

*/ - private interface NumberRule extends Rule { + public interface NumberRule extends Rule { /** * Appends the specified value to the output buffer based on the rule implementation. * diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/date/format/parser/DateParser.java b/hutool-core/src/main/java/org/dromara/hutool/core/date/format/parser/DateParser.java index c47fa0e90..f795c5a80 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/date/format/parser/DateParser.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/date/format/parser/DateParser.java @@ -15,7 +15,6 @@ package org.dromara.hutool.core.date.format.parser; import org.dromara.hutool.core.date.DateException; import org.dromara.hutool.core.date.format.DateBasic; -import java.text.ParseException; import java.util.Date; /** diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/date/format/parser/ISO8601DateParser.java b/hutool-core/src/main/java/org/dromara/hutool/core/date/format/parser/ISO8601DateParser.java index 607bd3bf7..54d5548e4 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/date/format/parser/ISO8601DateParser.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/date/format/parser/ISO8601DateParser.java @@ -16,7 +16,6 @@ import org.dromara.hutool.core.date.DateException; import org.dromara.hutool.core.date.DatePattern; import org.dromara.hutool.core.date.DateTime; import org.dromara.hutool.core.date.format.DefaultDateBasic; -import org.dromara.hutool.core.lang.Console; import org.dromara.hutool.core.regex.ReUtil; import org.dromara.hutool.core.text.StrUtil; import org.dromara.hutool.core.text.CharUtil; diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/date/format/parser/NormalDateParser.java b/hutool-core/src/main/java/org/dromara/hutool/core/date/format/parser/NormalDateParser.java index ca8c1c10b..4af0aaf6c 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/date/format/parser/NormalDateParser.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/date/format/parser/NormalDateParser.java @@ -16,7 +16,6 @@ import org.dromara.hutool.core.date.DateException; import org.dromara.hutool.core.date.DatePattern; import org.dromara.hutool.core.date.DateTime; import org.dromara.hutool.core.date.format.DefaultDateBasic; -import org.dromara.hutool.core.lang.Console; import org.dromara.hutool.core.regex.ReUtil; import org.dromara.hutool.core.text.StrUtil; import org.dromara.hutool.core.text.CharUtil; diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/io/buffer/FastByteBuffer.java b/hutool-core/src/main/java/org/dromara/hutool/core/io/buffer/FastByteBuffer.java index eccda851c..f92f4aa01 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/io/buffer/FastByteBuffer.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/io/buffer/FastByteBuffer.java @@ -12,8 +12,6 @@ package org.dromara.hutool.core.io.buffer; -import org.dromara.hutool.core.io.IORuntimeException; - /** * 代码移植自
blade
* 快速缓冲,将数据存放在缓冲集中,取代以往的单一数组 diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/io/file/FileUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/io/file/FileUtil.java index df27b9df9..7c41eaf77 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/io/file/FileUtil.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/io/file/FileUtil.java @@ -42,7 +42,6 @@ import java.net.URLConnection; import java.nio.charset.Charset; import java.nio.file.*; import java.util.*; -import java.util.function.Consumer; import java.util.function.Predicate; import java.util.jar.JarFile; import java.util.regex.Pattern; diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/io/file/LineReadWatcher.java b/hutool-core/src/main/java/org/dromara/hutool/core/io/file/LineReadWatcher.java index 4d2d73f67..5357acae5 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/io/file/LineReadWatcher.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/io/file/LineReadWatcher.java @@ -19,7 +19,6 @@ import org.dromara.hutool.core.func.SerConsumer; import java.io.IOException; import java.io.RandomAccessFile; import java.nio.charset.Charset; -import java.nio.file.Path; import java.nio.file.WatchEvent; import java.nio.file.WatchKey; diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/io/file/Tailer.java b/hutool-core/src/main/java/org/dromara/hutool/core/io/file/Tailer.java index 57d252491..2dc91a8fc 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/io/file/Tailer.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/io/file/Tailer.java @@ -157,6 +157,8 @@ public class Tailer implements Serializable { if(stopOnDelete){ fileDeleteWatchMonitor = WatchUtil.of(this.filePath, WatchKind.DELETE.getValue()); fileDeleteWatchMonitor.setWatcher(new SimpleWatcher(){ + private static final long serialVersionUID = 4497160994840060329L; + @Override public void onDelete(final WatchEvent event, final WatchKey key) { super.onDelete(event, key); diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/map/TransMap.java b/hutool-core/src/main/java/org/dromara/hutool/core/map/TransMap.java index 5593528eb..7883e3e59 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/map/TransMap.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/map/TransMap.java @@ -113,7 +113,7 @@ public abstract class TransMap extends MapWrapper { } @Override - public V putIfAbsent(K key, V value) { + public V putIfAbsent(final K key, final V value) { return super.putIfAbsent(customKey(key), customValue(value)); } diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/map/TreeEntry.java b/hutool-core/src/main/java/org/dromara/hutool/core/map/TreeEntry.java index 1ad5f514c..21b893fd6 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/map/TreeEntry.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/map/TreeEntry.java @@ -76,7 +76,7 @@ public interface TreeEntry extends Map.Entry { * @param key 指定父节点的key * @return 是否 */ - default boolean containsParent(K key) { + default boolean containsParent(final K key) { return ObjUtil.isNotNull(getParent(key)); } @@ -127,7 +127,7 @@ public interface TreeEntry extends Map.Entry { * @param key 指定子节点的key * @return 是否 */ - default boolean containsChild(K key) { + default boolean containsChild(final K key) { return ObjUtil.isNotNull(getChild(key)); } diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/map/concurrent/ConcurrentLinkedHashMap.java b/hutool-core/src/main/java/org/dromara/hutool/core/map/concurrent/ConcurrentLinkedHashMap.java index 5dd17194e..52ce55c0e 100755 --- a/hutool-core/src/main/java/org/dromara/hutool/core/map/concurrent/ConcurrentLinkedHashMap.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/map/concurrent/ConcurrentLinkedHashMap.java @@ -1588,7 +1588,7 @@ public final class ConcurrentLinkedHashMap extends AbstractMap */ public Builder weigher(final Weigher weigher) { this.weigher = (weigher == Weighers.singleton()) - ? Weighers.entrySingleton() + ? Weighers.entrySingleton() : new BoundedEntryWeigher<>(Weighers.asEntryWeigher(weigher)); return this; } diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/map/concurrent/Weighers.java b/hutool-core/src/main/java/org/dromara/hutool/core/map/concurrent/Weighers.java index 62f98e789..cea0d94dd 100755 --- a/hutool-core/src/main/java/org/dromara/hutool/core/map/concurrent/Weighers.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/map/concurrent/Weighers.java @@ -45,12 +45,12 @@ public final class Weighers { public static EntryWeigher asEntryWeigher( final Weigher weigher) { return (weigher == singleton()) - ? Weighers.entrySingleton() + ? Weighers.entrySingleton() : new EntryWeigherView(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> 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> 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); } }