diff --git a/hutool-ai/src/main/java/cn/hutool/v7/ai/core/AIService.java b/hutool-ai/src/main/java/cn/hutool/v7/ai/core/AIService.java
index 7f072b31ec..0c1c1bf9f2 100644
--- a/hutool-ai/src/main/java/cn/hutool/v7/ai/core/AIService.java
+++ b/hutool-ai/src/main/java/cn/hutool/v7/ai/core/AIService.java
@@ -35,7 +35,7 @@ public interface AIService {
* @return AI回答
* @since 6.0.0
*/
- default String chat(String prompt){
+ default String chat(final String prompt){
final List messages = new ArrayList<>();
messages.add(new Message("system", "You are a helpful assistant"));
messages.add(new Message("user", prompt));
@@ -48,7 +48,7 @@ public interface AIService {
* @param callback 流式数据回调函数
* @since 6.0.0
*/
- default void chat(String prompt, final Consumer callback){
+ default void chat(final String prompt, final Consumer callback){
final List messages = new ArrayList<>();
messages.add(new Message("system", "You are a helpful assistant"));
messages.add(new Message("user", prompt));
diff --git a/hutool-ai/src/main/java/cn/hutool/v7/ai/model/deepseek/DeepSeekServiceImpl.java b/hutool-ai/src/main/java/cn/hutool/v7/ai/model/deepseek/DeepSeekServiceImpl.java
index 34bf6478b8..675b033b48 100644
--- a/hutool-ai/src/main/java/cn/hutool/v7/ai/model/deepseek/DeepSeekServiceImpl.java
+++ b/hutool-ai/src/main/java/cn/hutool/v7/ai/model/deepseek/DeepSeekServiceImpl.java
@@ -63,8 +63,8 @@ public class DeepSeekServiceImpl extends BaseAIService implements DeepSeekServic
}
@Override
- public void chat(List messages, Consumer callback) {
- Map paramMap = buildChatStreamRequestBody(messages);
+ public void chat(final List messages, final Consumer callback) {
+ final Map paramMap = buildChatStreamRequestBody(messages);
ThreadUtil.newThread(() -> sendPostStream(CHAT_ENDPOINT, paramMap, callback), "deepseek-chat-sse").start();
}
@@ -76,8 +76,8 @@ public class DeepSeekServiceImpl extends BaseAIService implements DeepSeekServic
}
@Override
- public void beta(String prompt, Consumer callback) {
- Map paramMap = buildBetaStreamRequestBody(prompt);
+ public void beta(final String prompt, final Consumer callback) {
+ final Map paramMap = buildBetaStreamRequestBody(prompt);
ThreadUtil.newThread(() -> sendPostStream(BETA_ENDPOINT, paramMap, callback), "deepseek-beta-sse").start();
}
diff --git a/hutool-ai/src/main/java/cn/hutool/v7/ai/model/doubao/DoubaoService.java b/hutool-ai/src/main/java/cn/hutool/v7/ai/model/doubao/DoubaoService.java
index 019a627c60..3881e1ce32 100644
--- a/hutool-ai/src/main/java/cn/hutool/v7/ai/model/doubao/DoubaoService.java
+++ b/hutool-ai/src/main/java/cn/hutool/v7/ai/model/doubao/DoubaoService.java
@@ -39,7 +39,7 @@ public interface DoubaoService extends AIService {
* @return AI回答
* @since 6.0.0
*/
- default String chatVision(String prompt, final List images) {
+ default String chatVision(final String prompt, final List images) {
return chatVision(prompt, images, DoubaoCommon.DoubaoVision.AUTO.getDetail());
}
@@ -51,7 +51,7 @@ public interface DoubaoService extends AIService {
* @param callback 流式数据回调函数
* @since 6.0.0
*/
- default void chatVision(String prompt, final List images, final Consumer callback) {
+ default void chatVision(final String prompt, final List images, final Consumer callback) {
chatVision(prompt, images, DoubaoCommon.DoubaoVision.AUTO.getDetail(), callback);
}
@@ -98,7 +98,7 @@ public interface DoubaoService extends AIService {
* @return 生成任务id
* @since 6.0.0
*/
- default String videoTasks(String text, String image) {
+ default String videoTasks(final String text, final String image) {
return videoTasks(text, image, null);
}
@@ -166,7 +166,7 @@ public interface DoubaoService extends AIService {
* @return AI回答
* @since 6.0.0
*/
- default String batchChat(String prompt){
+ default String batchChat(final String prompt){
final List messages = new ArrayList<>();
messages.add(new Message("system", "You are a helpful assistant"));
messages.add(new Message("user", prompt));
@@ -218,7 +218,7 @@ public interface DoubaoService extends AIService {
* @return AI的回答
* @since 6.0.0
*/
- default String chatContext(String prompt, String contextId){
+ default String chatContext(final String prompt, final String contextId){
final List messages = new ArrayList<>();
messages.add(new Message("user", prompt));
return chatContext(messages, contextId);
@@ -233,7 +233,7 @@ public interface DoubaoService extends AIService {
* @param callback 流式数据回调函数
* @since 6.0.0
*/
- default void chatContext(String prompt, String contextId, final Consumer callback){
+ default void chatContext(final String prompt, final String contextId, final Consumer callback){
final List messages = new ArrayList<>();
messages.add(new Message("user", prompt));
chatContext(messages, contextId, callback);
diff --git a/hutool-ai/src/main/java/cn/hutool/v7/ai/model/grok/GrokCommon.java b/hutool-ai/src/main/java/cn/hutool/v7/ai/model/grok/GrokCommon.java
index 0a241c56b1..e2120ef274 100644
--- a/hutool-ai/src/main/java/cn/hutool/v7/ai/model/grok/GrokCommon.java
+++ b/hutool-ai/src/main/java/cn/hutool/v7/ai/model/grok/GrokCommon.java
@@ -44,7 +44,7 @@ public class GrokCommon {
private final String detail;
- GrokVision(String detail) {
+ GrokVision(final String detail) {
this.detail = detail;
}
diff --git a/hutool-ai/src/main/java/cn/hutool/v7/ai/model/grok/GrokConfig.java b/hutool-ai/src/main/java/cn/hutool/v7/ai/model/grok/GrokConfig.java
index b43860f6d0..159ca1125a 100644
--- a/hutool-ai/src/main/java/cn/hutool/v7/ai/model/grok/GrokConfig.java
+++ b/hutool-ai/src/main/java/cn/hutool/v7/ai/model/grok/GrokConfig.java
@@ -49,7 +49,7 @@ public class GrokConfig extends BaseAIConfig {
*
* @param apiKey API密钥
*/
- public GrokConfig(String apiKey) {
+ public GrokConfig(final String apiKey) {
this();
setApiKey(apiKey);
}
diff --git a/hutool-ai/src/main/java/cn/hutool/v7/ai/model/grok/GrokService.java b/hutool-ai/src/main/java/cn/hutool/v7/ai/model/grok/GrokService.java
index bc6a84e317..4492fb568d 100644
--- a/hutool-ai/src/main/java/cn/hutool/v7/ai/model/grok/GrokService.java
+++ b/hutool-ai/src/main/java/cn/hutool/v7/ai/model/grok/GrokService.java
@@ -39,7 +39,7 @@ public interface GrokService extends AIService {
* @return AI回答
* @since 6.0.0
*/
- default String message(String prompt, int maxToken){
+ default String message(final String prompt, final int maxToken){
// 定义消息结构
final List messages = new ArrayList<>();
messages.add(new Message("system", "You are a helpful assistant"));
@@ -55,7 +55,7 @@ public interface GrokService extends AIService {
* @param callback 流式数据回调函数
* @since 6.0.0
*/
- default void message(String prompt, int maxToken, final Consumer callback){
+ default void message(final String prompt, final int maxToken, final Consumer callback){
final List messages = new ArrayList<>();
messages.add(new Message("system", "You are a helpful assistant"));
messages.add(new Message("user", prompt));
@@ -112,7 +112,7 @@ public interface GrokService extends AIService {
* @return AI回答
* @since 6.0.0
*/
- default String chatVision(String prompt, final List images) {
+ default String chatVision(final String prompt, final List images) {
return chatVision(prompt, images, GrokCommon.GrokVision.AUTO.getDetail());
}
@@ -124,7 +124,7 @@ public interface GrokService extends AIService {
* @param callback 流式数据回调函数
* @since 6.0.0
*/
- default void chatVision(String prompt, final List images, final Consumer callback){
+ default void chatVision(final String prompt, final List images, final Consumer callback){
chatVision(prompt, images, GrokCommon.GrokVision.AUTO.getDetail(), callback);
}
diff --git a/hutool-ai/src/main/java/cn/hutool/v7/ai/model/grok/GrokServiceImpl.java b/hutool-ai/src/main/java/cn/hutool/v7/ai/model/grok/GrokServiceImpl.java
index 24e1f2f431..4f83ee13a6 100644
--- a/hutool-ai/src/main/java/cn/hutool/v7/ai/model/grok/GrokServiceImpl.java
+++ b/hutool-ai/src/main/java/cn/hutool/v7/ai/model/grok/GrokServiceImpl.java
@@ -64,84 +64,84 @@ public class GrokServiceImpl extends BaseAIService implements GrokService {
@Override
public String chat(final List messages) {
- String paramJson = buildChatRequestBody(messages);
- Response response = sendPost(CHAT_ENDPOINT, paramJson);
+ final String paramJson = buildChatRequestBody(messages);
+ final Response response = sendPost(CHAT_ENDPOINT, paramJson);
return response.bodyStr();
}
@Override
- public void chat(List messages, Consumer callback) {
- Map paramMap = buildChatStreamRequestBody(messages);
+ public void chat(final List messages, final Consumer callback) {
+ final Map paramMap = buildChatStreamRequestBody(messages);
ThreadUtil.newThread(() -> sendPostStream(CHAT_ENDPOINT, paramMap, callback), "grok-chat-sse").start();
}
@Override
- public String message(final List messages, int maxToken) {
- String paramJson = buildMessageRequestBody(messages, maxToken);
- Response response = sendPost(MESSAGES, paramJson);
+ public String message(final List messages, final int maxToken) {
+ final String paramJson = buildMessageRequestBody(messages, maxToken);
+ final Response response = sendPost(MESSAGES, paramJson);
return response.bodyStr();
}
@Override
- public void message(List messages, int maxToken, final Consumer callback) {
- Map paramMap = buildMessageStreamRequestBody(messages, maxToken);
+ public void message(final List messages, final int maxToken, final Consumer callback) {
+ final Map paramMap = buildMessageStreamRequestBody(messages, maxToken);
ThreadUtil.newThread(() -> sendPostStream(MESSAGES, paramMap, callback), "grok-message-sse").start();
}
@Override
- public String chatVision(String prompt, final List images, String detail) {
- String paramJson = buildChatVisionRequestBody(prompt, images, detail);
- Response response = sendPost(CHAT_ENDPOINT, paramJson);
+ public String chatVision(final String prompt, final List images, final String detail) {
+ final String paramJson = buildChatVisionRequestBody(prompt, images, detail);
+ final Response response = sendPost(CHAT_ENDPOINT, paramJson);
return response.bodyStr();
}
@Override
- public void chatVision(String prompt, List images, String detail, Consumer callback) {
- Map paramMap = buildChatVisionStreamRequestBody(prompt, images, detail);
+ public void chatVision(final String prompt, final List images, final String detail, final Consumer callback) {
+ final Map paramMap = buildChatVisionStreamRequestBody(prompt, images, detail);
ThreadUtil.newThread(() -> sendPostStream(CHAT_ENDPOINT, paramMap, callback), "grok-chatVision-sse").start();
}
@Override
public String models() {
- Response response = sendGet(MODELS_ENDPOINT);
+ final Response response = sendGet(MODELS_ENDPOINT);
return response.bodyStr();
}
@Override
- public String getModel(String modelId) {
- Response response = sendGet(MODELS_ENDPOINT + "/" + modelId);
+ public String getModel(final String modelId) {
+ final Response response = sendGet(MODELS_ENDPOINT + "/" + modelId);
return response.bodyStr();
}
@Override
public String languageModels() {
- Response response = sendGet(LANGUAGE_MODELS);
+ final Response response = sendGet(LANGUAGE_MODELS);
return response.bodyStr();
}
@Override
- public String getLanguageModel(String modelId) {
- Response response = sendGet(LANGUAGE_MODELS + "/" + modelId);
+ public String getLanguageModel(final String modelId) {
+ final Response response = sendGet(LANGUAGE_MODELS + "/" + modelId);
return response.bodyStr();
}
@Override
- public String tokenizeText(String text) {
- String paramJson = buildTokenizeRequestBody(text);
- Response response = sendPost(TOKENIZE_TEXT, paramJson);
+ public String tokenizeText(final String text) {
+ final String paramJson = buildTokenizeRequestBody(text);
+ final Response response = sendPost(TOKENIZE_TEXT, paramJson);
return response.bodyStr();
}
@Override
- public String deferredCompletion(String requestId) {
- Response response = sendGet(DEFERRED_COMPLETION + "/" + requestId);
+ public String deferredCompletion(final String requestId) {
+ final Response response = sendGet(DEFERRED_COMPLETION + "/" + requestId);
return response.bodyStr();
}
@Override
- public String imagesGenerations(String prompt) {
- String paramJson = buildImagesGenerationsRequestBody(prompt);
- Response response = sendPost(IMAGES_GENERATIONS, paramJson);
+ public String imagesGenerations(final String prompt) {
+ final String paramJson = buildImagesGenerationsRequestBody(prompt);
+ final Response response = sendPost(IMAGES_GENERATIONS, paramJson);
return response.bodyStr();
}
@@ -170,7 +170,7 @@ public class GrokServiceImpl extends BaseAIService implements GrokService {
}
//构建chatVision请求体
- private String buildChatVisionRequestBody(String prompt, final List images, String detail) {
+ private String buildChatVisionRequestBody(final String prompt, final List images, final String detail) {
// 定义消息结构
final List messages = new ArrayList<>();
final List
*/
- private static class CharacterLiteral implements Rule {
- private final char mValue;
-
- /**
- * Constructs a new instance of {@code CharacterLiteral} to hold the specified value.
- *
- * @param value the character literal
- */
- CharacterLiteral(final char value) {
- mValue = value;
- }
-
+ private record CharacterLiteral(char mValue) implements Rule {
@Override
public int estimateLength() {
return 1;
@@ -376,18 +365,7 @@ public class DatePattern {
* Inner class to output a constant string.
*
*/
- private static class StringLiteral implements Rule {
- private final String mValue;
-
- /**
- * Constructs a new instance of {@code StringLiteral} to hold the specified value.
- *
- * @param value the string literal
- */
- StringLiteral(final String value) {
- mValue = value;
- }
-
+ private record StringLiteral(String mValue) implements Rule {
@Override
public int estimateLength() {
return mValue.length();
@@ -404,21 +382,7 @@ public class DatePattern {
* Inner class to output one of a set of values.
*
*/
- private static class TextField implements Rule {
- private final int mField;
- private final String[] mValues;
-
- /**
- * Constructs an instance of {@code TextField} with the specified field and values.
- *
- * @param field the field
- * @param values the field values
- */
- TextField(final int field, final String[] values) {
- mField = field;
- mValues = values;
- }
-
+ private record TextField(int mField, String[] mValues) implements Rule {
@Override
public int estimateLength() {
int max = 0;
@@ -431,6 +395,7 @@ public class DatePattern {
return max;
}
+ @SuppressWarnings("MagicConstant")
@Override
public void appendTo(final Appendable buffer, final Calendar calendar) throws IOException {
buffer.append(mValues[calendar.get(mField)]);
@@ -442,23 +407,14 @@ public class DatePattern {
* Inner class to output an unpadded number.
*
*/
- private static class UnpaddedNumberField implements NumberRule {
- private final int mField;
-
- /**
- * Constructs an instance of {@code UnpadedNumberField} with the specified field.
- *
- * @param field the field
- */
- UnpaddedNumberField(final int field) {
- mField = field;
- }
+ private record UnpaddedNumberField(int mField) implements NumberRule {
@Override
public int estimateLength() {
return 4;
}
+ @SuppressWarnings("MagicConstant")
@Override
public void appendTo(final Appendable buffer, final Calendar calendar) throws IOException {
appendTo(buffer, calendar.get(mField));
@@ -515,23 +471,18 @@ public class DatePattern {
* Inner class to output a padded number.
*
*/
- private static class PaddedNumberField implements NumberRule {
- private final int mField;
- private final int mSize;
-
+ private record PaddedNumberField(int mField, int mSize) implements NumberRule {
/**
* Constructs an instance of {@code PaddedNumberField}.
*
- * @param field the field
- * @param size size of the output field
+ * @param mField the field
+ * @param mSize size of the output field
*/
- PaddedNumberField(final int field, final int size) {
- if (size < 3) {
+ private PaddedNumberField {
+ if (mSize < 3) {
// Should use UnpaddedNumberField or TwoDigitNumberField.
throw new IllegalArgumentException();
}
- mField = field;
- mSize = size;
}
@Override
@@ -539,6 +490,7 @@ public class DatePattern {
return mSize;
}
+ @SuppressWarnings("MagicConstant")
@Override
public void appendTo(final Appendable buffer, final Calendar calendar) throws IOException {
appendTo(buffer, calendar.get(mField));
@@ -555,23 +507,13 @@ public class DatePattern {
* Inner class to output a two digit number.
*
*/
- private static class TwoDigitNumberField implements NumberRule {
- private final int mField;
-
- /**
- * Constructs an instance of {@code TwoDigitNumberField} with the specified field.
- *
- * @param field the field
- */
- TwoDigitNumberField(final int field) {
- mField = field;
- }
-
+ private record TwoDigitNumberField(int mField) implements NumberRule {
@Override
public int estimateLength() {
return 2;
}
+ @SuppressWarnings("MagicConstant")
@Override
public void appendTo(final Appendable buffer, final Calendar calendar) throws IOException {
appendTo(buffer, calendar.get(mField));
@@ -652,18 +594,7 @@ public class DatePattern {
* Inner class to output the twelve hour field.
*
*/
- private static class TwelveHourField implements NumberRule {
- private final NumberRule mRule;
-
- /**
- * Constructs an instance of {@code TwelveHourField} with the specified {@code NumberRule}.
- *
- * @param rule the rule
- */
- TwelveHourField(final NumberRule rule) {
- mRule = rule;
- }
-
+ private record TwelveHourField(NumberRule mRule) implements NumberRule {
@Override
public int estimateLength() {
return mRule.estimateLength();
@@ -685,22 +616,9 @@ public class DatePattern {
}
/**
- *
* Inner class to output the twenty four hour field.
- *
*/
- private static class TwentyFourHourField implements NumberRule {
- private final NumberRule mRule;
-
- /**
- * Constructs an instance of {@code TwentyFourHourField} with the specified {@code NumberRule}.
- *
- * @param rule the rule
- */
- TwentyFourHourField(final NumberRule rule) {
- mRule = rule;
- }
-
+ private record TwentyFourHourField(NumberRule mRule) implements NumberRule {
@Override
public int estimateLength() {
return mRule.estimateLength();
@@ -722,17 +640,9 @@ public class DatePattern {
}
/**
- *
* Inner class to output the numeric day in week.
- *
*/
- private static class DayInWeekField implements NumberRule {
- private final NumberRule mRule;
-
- DayInWeekField(final NumberRule rule) {
- mRule = rule;
- }
-
+ private record DayInWeekField(NumberRule mRule) implements NumberRule {
@Override
public int estimateLength() {
return mRule.estimateLength();
@@ -751,17 +661,9 @@ public class DatePattern {
}
/**
- *
* Inner class to output the numeric day in week.
- *
*/
- private static class WeekYear implements NumberRule {
- private final NumberRule mRule;
-
- WeekYear(final NumberRule rule) {
- mRule = rule;
- }
-
+ private record WeekYear(NumberRule mRule) implements NumberRule {
@Override
public int estimateLength() {
return mRule.estimateLength();
@@ -784,9 +686,7 @@ public class DatePattern {
}
/**
- *
* Inner class to output a time zone name.
- *
*/
private static class TimeZoneNameRule implements Rule {
private final Locale mLocale;
@@ -829,25 +729,12 @@ public class DatePattern {
}
/**
- *
* Inner class to output a time zone as a number {@code +/-HHMM} or {@code +/-HH:MM}.
- *
*/
- private static class TimeZoneNumberRule implements Rule {
+ private record TimeZoneNumberRule(boolean mColon) implements Rule {
static final TimeZoneNumberRule INSTANCE_COLON = new TimeZoneNumberRule(true);
static final TimeZoneNumberRule INSTANCE_NO_COLON = new TimeZoneNumberRule(false);
- final boolean mColon;
-
- /**
- * Constructs an instance of {@code TimeZoneNumberRule} with the specified properties.
- *
- * @param colon add colon between HH and MM in the output if {@code true}
- */
- TimeZoneNumberRule(final boolean colon) {
- mColon = colon;
- }
-
@Override
public int estimateLength() {
return 5;
@@ -882,7 +769,7 @@ public class DatePattern {
* Inner class to output a time zone as a number {@code +/-HHMM} or {@code +/-HH:MM}.
*
*/
- private static class Iso8601_Rule implements Rule {
+ private record Iso8601_Rule(int length) implements Rule {
// Sign TwoDigitHours or Z
static final Iso8601_Rule ISO8601_HOURS = new Iso8601_Rule(3);
@@ -906,15 +793,12 @@ public class DatePattern {
};
}
- final int length;
-
/**
* Constructs an instance of {@code Iso8601_Rule} with the specified properties.
*
* @param length The number of characters in output (unless Z is output)
*/
- Iso8601_Rule(final int length) {
- this.length = length;
+ private Iso8601_Rule {
}
@Override
@@ -1103,7 +987,7 @@ public class DatePattern {
if (this == obj) {
return true;
}
- if (obj instanceof TimeZoneDisplayKey other) {
+ if (obj instanceof final TimeZoneDisplayKey other) {
return mTimeZone.equals(other.mTimeZone) && mStyle == other.mStyle && mLocale.equals(other.mLocale);
}
return false;
diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/date/format/FastDateFormat.java b/hutool-core/src/main/java/cn/hutool/v7/core/date/format/FastDateFormat.java
index 4bb36c42ef..0a608a668d 100644
--- a/hutool-core/src/main/java/cn/hutool/v7/core/date/format/FastDateFormat.java
+++ b/hutool-core/src/main/java/cn/hutool/v7/core/date/format/FastDateFormat.java
@@ -436,7 +436,7 @@ public class FastDateFormat extends Format implements PositionDateParser, DatePr
// -----------------------------------------------------------------------
@Override
public boolean equals(final Object obj) {
- if (!(obj instanceof FastDateFormat other)) {
+ if (!(obj instanceof final FastDateFormat other)) {
return false;
}
// no need to check parser, as it has same invariants as printer
diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/date/format/SimpleDateBasic.java b/hutool-core/src/main/java/cn/hutool/v7/core/date/format/SimpleDateBasic.java
index bcbbcaf185..95eda8021e 100644
--- a/hutool-core/src/main/java/cn/hutool/v7/core/date/format/SimpleDateBasic.java
+++ b/hutool-core/src/main/java/cn/hutool/v7/core/date/format/SimpleDateBasic.java
@@ -75,7 +75,7 @@ public class SimpleDateBasic implements DateBasic, Serializable {
// ----------------------------------------------------------------------- Basics
@Override
public boolean equals(final Object obj) {
- if (!(obj instanceof FastDatePrinter other)) {
+ if (!(obj instanceof final FastDatePrinter other)) {
return false;
}
return pattern.equals(other.pattern) && timeZone.equals(other.timeZone) && locale.equals(other.locale);
diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/io/ManifestUtil.java b/hutool-core/src/main/java/cn/hutool/v7/core/io/ManifestUtil.java
index 9deb19c0a1..66464c4e59 100644
--- a/hutool-core/src/main/java/cn/hutool/v7/core/io/ManifestUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/v7/core/io/ManifestUtil.java
@@ -55,7 +55,7 @@ public class ManifestUtil {
throw new IORuntimeException(e);
}
- if (connection instanceof JarURLConnection conn) {
+ if (connection instanceof final JarURLConnection conn) {
return getManifest(conn);
}
return null;
diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/io/resource/JarResource.java b/hutool-core/src/main/java/cn/hutool/v7/core/io/resource/JarResource.java
index dffc937923..e17d46ec04 100644
--- a/hutool-core/src/main/java/cn/hutool/v7/core/io/resource/JarResource.java
+++ b/hutool-core/src/main/java/cn/hutool/v7/core/io/resource/JarResource.java
@@ -89,7 +89,7 @@ public class JarResource extends UrlResource {
*/
private JarFile doGetJarFile() throws IOException {
final URLConnection con = getUrl().openConnection();
- if (con instanceof JarURLConnection jarCon) {
+ if (con instanceof final JarURLConnection jarCon) {
return jarCon.getJarFile();
} else {
final String urlFile = getUrl().getFile();
diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/io/resource/ResourceFinder.java b/hutool-core/src/main/java/cn/hutool/v7/core/io/resource/ResourceFinder.java
index 43170d2b09..002a6c853b 100644
--- a/hutool-core/src/main/java/cn/hutool/v7/core/io/resource/ResourceFinder.java
+++ b/hutool-core/src/main/java/cn/hutool/v7/core/io/resource/ResourceFinder.java
@@ -127,7 +127,7 @@ public class ResourceFinder {
String rootEntryPath;
final boolean closeJarFile;
- if (conn instanceof JarURLConnection jarCon) {
+ if (conn instanceof final JarURLConnection jarCon) {
UrlUtil.useCachesIfNecessary(jarCon);
jarFile = jarCon.getJarFile();
final JarEntry jarEntry = jarCon.getJarEntry();
diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/lang/Console.java b/hutool-core/src/main/java/cn/hutool/v7/core/lang/Console.java
index 450329238b..3754ff86a5 100644
--- a/hutool-core/src/main/java/cn/hutool/v7/core/lang/Console.java
+++ b/hutool-core/src/main/java/cn/hutool/v7/core/lang/Console.java
@@ -52,7 +52,7 @@ public class Console {
* @param obj 要打印的对象
*/
public static void log(final Object obj) {
- if (obj instanceof Throwable e) {
+ if (obj instanceof final Throwable e) {
log(e, e.getMessage());
} else {
log(TEMPLATE_VAR, obj);
@@ -219,7 +219,7 @@ public class Console {
* @param obj 要打印的对象
*/
public static void error(final Object obj) {
- if (obj instanceof Throwable e) {
+ if (obj instanceof final Throwable e) {
error(e, e.getMessage());
} else {
error(TEMPLATE_VAR, obj);
diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/lang/Opt.java b/hutool-core/src/main/java/cn/hutool/v7/core/lang/Opt.java
index 1a4c86153b..0d1b9a545f 100644
--- a/hutool-core/src/main/java/cn/hutool/v7/core/lang/Opt.java
+++ b/hutool-core/src/main/java/cn/hutool/v7/core/lang/Opt.java
@@ -541,7 +541,7 @@ public class Opt {
return true;
}
- if (!(obj instanceof Opt> other)) {
+ if (!(obj instanceof final Opt> other)) {
return false;
}
diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/lang/tuple/Triple.java b/hutool-core/src/main/java/cn/hutool/v7/core/lang/tuple/Triple.java
index 8cfc877b82..d355556d06 100644
--- a/hutool-core/src/main/java/cn/hutool/v7/core/lang/tuple/Triple.java
+++ b/hutool-core/src/main/java/cn/hutool/v7/core/lang/tuple/Triple.java
@@ -82,7 +82,7 @@ public class Triple extends Pair {
if (this == o) {
return true;
}
- if (o instanceof Triple, ?, ?> triple) {
+ if (o instanceof final Triple, ?, ?> triple) {
return Objects.equals(getLeft(), triple.getLeft()) &&
Objects.equals(getMiddle(), triple.getMiddle()) &&
Objects.equals(getRight(), triple.getRight());
diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/map/AbsEntry.java b/hutool-core/src/main/java/cn/hutool/v7/core/map/AbsEntry.java
index 89ac5dd04a..e3a08b078f 100644
--- a/hutool-core/src/main/java/cn/hutool/v7/core/map/AbsEntry.java
+++ b/hutool-core/src/main/java/cn/hutool/v7/core/map/AbsEntry.java
@@ -39,7 +39,7 @@ public abstract class AbsEntry implements Map.Entry {
@Override
public boolean equals(final Object object) {
- if (object instanceof Map.Entry, ?> that) {
+ if (object instanceof final Map.Entry, ?> that) {
return ObjUtil.equals(this.getKey(), that.getKey())
&& ObjUtil.equals(this.getValue(), that.getValue());
}
diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/map/multi/AbsTable.java b/hutool-core/src/main/java/cn/hutool/v7/core/map/multi/AbsTable.java
index 66fc5283a5..77f0772cdd 100644
--- a/hutool-core/src/main/java/cn/hutool/v7/core/map/multi/AbsTable.java
+++ b/hutool-core/src/main/java/cn/hutool/v7/core/map/multi/AbsTable.java
@@ -54,7 +54,7 @@ public abstract class AbsTable implements Table {
public boolean equals(final Object obj) {
if (obj == this) {
return true;
- } else if (obj instanceof Table, ?, ?> that) {
+ } else if (obj instanceof final Table, ?, ?> that) {
return this.cellSet().equals(that.cellSet());
} else {
return false;
@@ -231,7 +231,7 @@ public abstract class AbsTable implements Table {
if (obj == this) {
return true;
}
- if (obj instanceof Cell, ?, ?> other) {
+ if (obj instanceof final Cell, ?, ?> other) {
return ObjUtil.equals(rowKey, other.getRowKey())
&& ObjUtil.equals(columnKey, other.getColumnKey())
&& ObjUtil.equals(value, other.getValue());
diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/math/ChineseNumberFormatter.java b/hutool-core/src/main/java/cn/hutool/v7/core/math/ChineseNumberFormatter.java
index aac2a4c597..e9a48b1e25 100644
--- a/hutool-core/src/main/java/cn/hutool/v7/core/math/ChineseNumberFormatter.java
+++ b/hutool-core/src/main/java/cn/hutool/v7/core/math/ChineseNumberFormatter.java
@@ -161,7 +161,7 @@ public class ChineseNumberFormatter {
public String format(final BigDecimal amount) {
final long longValue = amount.longValue();
- String formatAmount;
+ final String formatAmount;
if (amount.scale() <= 0) {
formatAmount = format(longValue);
} else {
diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/math/Fraction.java b/hutool-core/src/main/java/cn/hutool/v7/core/math/Fraction.java
index db7d4e7ffc..d8c8e841e6 100644
--- a/hutool-core/src/main/java/cn/hutool/v7/core/math/Fraction.java
+++ b/hutool-core/src/main/java/cn/hutool/v7/core/math/Fraction.java
@@ -618,7 +618,7 @@ public final class Fraction extends Number implements Comparable {
if (obj == this) {
return true;
}
- if (!(obj instanceof Fraction other)) {
+ if (!(obj instanceof final Fraction other)) {
return false;
}
return getNumerator() == other.getNumerator() && getDenominator() == other.getDenominator();
diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/net/url/UrlUtil.java b/hutool-core/src/main/java/cn/hutool/v7/core/net/url/UrlUtil.java
index 2058ee6d11..6d547d0b8a 100644
--- a/hutool-core/src/main/java/cn/hutool/v7/core/net/url/UrlUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/v7/core/net/url/UrlUtil.java
@@ -662,7 +662,7 @@ public class UrlUtil {
try {
conn = url.openConnection();
useCachesIfNecessary(conn);
- if (conn instanceof HttpURLConnection httpCon) {
+ if (conn instanceof final HttpURLConnection httpCon) {
httpCon.setRequestMethod("HEAD");
}
return conn.getContentLengthLong();
diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/reflect/method/MethodTypeUtil.java b/hutool-core/src/main/java/cn/hutool/v7/core/reflect/method/MethodTypeUtil.java
index 3ebdc15f92..54dc72eb87 100644
--- a/hutool-core/src/main/java/cn/hutool/v7/core/reflect/method/MethodTypeUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/v7/core/reflect/method/MethodTypeUtil.java
@@ -60,7 +60,7 @@ public class MethodTypeUtil {
if (null == declaringClass) {
declaringClass = executable.getDeclaringClass();
}
- if (executable instanceof Method method) {
+ if (executable instanceof final Method method) {
return MethodType.methodType(method.getReturnType(), declaringClass, method.getParameterTypes());
} else {
final Constructor> constructor = (Constructor>) executable;
diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/spi/JdkServiceLoaderUtil.java b/hutool-core/src/main/java/cn/hutool/v7/core/spi/JdkServiceLoaderUtil.java
index 3ded905ea9..11ee6f3f07 100644
--- a/hutool-core/src/main/java/cn/hutool/v7/core/spi/JdkServiceLoaderUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/v7/core/spi/JdkServiceLoaderUtil.java
@@ -57,7 +57,7 @@ public class JdkServiceLoaderUtil {
break;
}
instance = iterator.next();
- } catch (ServiceConfigurationError | NoClassDefFoundError e) {
+ } catch (final ServiceConfigurationError | NoClassDefFoundError e) {
// 安全忽略当前实现,尝试下一个
continue;
}
diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/text/CharSequenceUtil.java b/hutool-core/src/main/java/cn/hutool/v7/core/text/CharSequenceUtil.java
index a72f101c41..94fdad35a0 100644
--- a/hutool-core/src/main/java/cn/hutool/v7/core/text/CharSequenceUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/v7/core/text/CharSequenceUtil.java
@@ -2419,6 +2419,8 @@ public class CharSequenceUtil extends StrValidator {
if (str1 instanceof String && str2 instanceof String) {
return ((String) str1).regionMatches(ignoreCase, offset1, (String) str2, offset2, length);
}
+ // pr#4134@Github
+ // 当 CharSequence 为 StringBuilder 类时会发生拷贝,效率很低,而且复杂度会退化至 O(N^2),这里直接手动匹配
if (offset1 < 0 || offset2 < 0 || length < 0) {
return false;
}
@@ -2426,18 +2428,9 @@ public class CharSequenceUtil extends StrValidator {
return false;
}
for (int i = 0; i < length; i++) {
- final char c1 = str1.charAt(offset1 + i);
- final char c2 = str2.charAt(offset2 + i);
- if (c1 == c2) {
+ if (CharUtil.equals(str1.charAt(offset1 + i), str2.charAt(offset2 + i), ignoreCase)) {
continue;
}
- if (ignoreCase) {
- final char u1 = Character.toLowerCase(c1);
- final char u2 = Character.toLowerCase(c2);
- if (u1 == u2) {
- continue;
- }
- }
return false;
}
@@ -3978,7 +3971,7 @@ public class CharSequenceUtil extends StrValidator {
* @return StringBuilder对象
* @since 5.8.42
*/
- public static StringBuilder builder(Function strEditor, final CharSequence... strs){
+ public static StringBuilder builder(final Function strEditor, final CharSequence... strs){
final StringBuilder sb = new StringBuilder();
for (final CharSequence str : strs) {
sb.append(strEditor.apply( str));
diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/text/StrJoiner.java b/hutool-core/src/main/java/cn/hutool/v7/core/text/StrJoiner.java
index ef564684ba..90d0fa418b 100644
--- a/hutool-core/src/main/java/cn/hutool/v7/core/text/StrJoiner.java
+++ b/hutool-core/src/main/java/cn/hutool/v7/core/text/StrJoiner.java
@@ -236,7 +236,7 @@ public class StrJoiner implements Appendable, Serializable {
append((Iterator>) obj);
} else if (obj instanceof Iterable) {
append(((Iterable>) obj).iterator());
- }else if (obj instanceof Map.Entry, ?> entry) {
+ }else if (obj instanceof final Map.Entry, ?> entry) {
append(entry.getKey()).append(entry.getValue());
} else {
append(ConvertUtil.toStr(obj));
@@ -448,7 +448,7 @@ public class StrJoiner implements Appendable, Serializable {
* @param appendable {@link Appendable}
*/
private void checkHasContent(final Appendable appendable) {
- if (appendable instanceof CharSequence charSequence) {
+ if (appendable instanceof final CharSequence charSequence) {
if (!charSequence.isEmpty() && StrUtil.endWith(charSequence, delimiter)) {
this.hasContent = true;
}
diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/text/finder/StrFinder.java b/hutool-core/src/main/java/cn/hutool/v7/core/text/finder/StrFinder.java
index f19b3a17df..fe2ac187e4 100644
--- a/hutool-core/src/main/java/cn/hutool/v7/core/text/finder/StrFinder.java
+++ b/hutool-core/src/main/java/cn/hutool/v7/core/text/finder/StrFinder.java
@@ -17,7 +17,6 @@
package cn.hutool.v7.core.text.finder;
import cn.hutool.v7.core.lang.Assert;
-import cn.hutool.v7.core.text.CharSequenceUtil;
import java.io.Serial;
import java.util.HashMap;
@@ -69,12 +68,13 @@ public class StrFinder extends TextFinder {
final int subLen = strToFind.length();
final int textLen = text.length();
- // 基于Sunday算法实现高效子串查询
+ // pr#4134@github
+ // 基于Sunday算法实现高效子串查询,理想情况为O(N / M),最差情况(大量重复元素)会退化至O(M * N),一般情况下优于 KMP算法,任何情况下都优于原来的暴力算法
if (negative) {
if (this.reverseOffsetMap == null) {
this.reverseOffsetMap = buildReverseOffsetMap(strToFind, caseInsensitive);
}
- int maxIndex = textLen - subLen;
+ final int maxIndex = textLen - subLen;
if (from > maxIndex) {
from = maxIndex;
}
@@ -86,8 +86,8 @@ public class StrFinder extends TextFinder {
if (i - 1 < 0) {
break;
}
- char preChar = text.charAt(i - 1);
- int jump = reverseOffsetMap.getOrDefault(
+ final char preChar = text.charAt(i - 1);
+ final int jump = reverseOffsetMap.getOrDefault(
caseInsensitive ? Character.toLowerCase(preChar) : preChar,
subLen + 1
);
@@ -100,7 +100,7 @@ public class StrFinder extends TextFinder {
if (from < 0) {
from = 0;
}
- int endLimit = textLen - subLen;
+ final int endLimit = textLen - subLen;
int i = from;
while (i <= endLimit) {
if (isSubEquals(text, i, strToFind, 0, subLen, caseInsensitive)) {
@@ -109,8 +109,8 @@ public class StrFinder extends TextFinder {
if (i + subLen >= textLen) {
break;
}
- char nextChar = text.charAt(i + subLen);
- int jump = forwardOffsetMap.getOrDefault(
+ final char nextChar = text.charAt(i + subLen);
+ final int jump = forwardOffsetMap.getOrDefault(
caseInsensitive ? Character.toLowerCase(nextChar) : nextChar,
subLen + 1
);
@@ -132,13 +132,13 @@ public class StrFinder extends TextFinder {
/**
* 构建正向偏移表
*/
- private static Map buildForwardOffsetMap(CharSequence pattern, boolean caseInsensitive) {
- int m = pattern.length();
- Map map = new HashMap<>(Math.min(m, 128));
+ private static Map buildForwardOffsetMap(final CharSequence pattern, final boolean caseInsensitive) {
+ final int m = pattern.length();
+ final Map map = new HashMap<>(Math.min(m, 128));
for (int i = 0; i < m; i++) {
- char c = pattern.charAt(i);
- int jump = m - i;
+ final char c = pattern.charAt(i);
+ final int jump = m - i;
if (caseInsensitive) {
map.put(Character.toLowerCase(c), jump);
@@ -152,13 +152,13 @@ public class StrFinder extends TextFinder {
/**
* 构建反向偏移表
*/
- private static Map buildReverseOffsetMap(CharSequence pattern, boolean caseInsensitive) {
- int m = pattern.length();
- Map map = new HashMap<>(Math.min(m, 128));
+ private static Map buildReverseOffsetMap(final CharSequence pattern, final boolean caseInsensitive) {
+ final int m = pattern.length();
+ final Map map = new HashMap<>(Math.min(m, 128));
for (int i = m - 1; i >= 0; i--) {
- char c = pattern.charAt(i);
- int jump = i + 1;
+ final char c = pattern.charAt(i);
+ final int jump = i + 1;
if (caseInsensitive) {
map.put(Character.toLowerCase(c), jump);
diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/thread/ThreadUtil.java b/hutool-core/src/main/java/cn/hutool/v7/core/thread/ThreadUtil.java
index a99ef8077e..624e0242ad 100644
--- a/hutool-core/src/main/java/cn/hutool/v7/core/thread/ThreadUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/v7/core/thread/ThreadUtil.java
@@ -795,9 +795,9 @@ public class ThreadUtil {
* @since 4.5.8
*/
public static ConcurrencyTester concurrencyTest(final int threadSize, final Runnable runnable) {
- try (ConcurrencyTester tester = new ConcurrencyTester(threadSize)) {
+ try (final ConcurrencyTester tester = new ConcurrencyTester(threadSize)) {
return tester.test(runnable);
- } catch (IOException e) {
+ } catch (final IOException e) {
throw new IORuntimeException(e);
}
}
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/bean/BeanUtilTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/bean/BeanUtilTest.java
index 7f9a0eaeb3..e365b6c2a9 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/bean/BeanUtilTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/bean/BeanUtilTest.java
@@ -1022,20 +1022,20 @@ public class BeanUtilTest {
@Test
void checkBean_withNullBean_shouldReturnTrue() {
- Predicate predicate = field -> true;
+ final Predicate predicate = field -> true;
assertTrue(BeanUtil.checkBean(null, predicate));
}
@Test
void checkBean_withNoMatchingFields_shouldReturnFalse() {
- Person bean = new Person();
- Predicate predicate = field -> false;
+ final Person bean = new Person();
+ final Predicate predicate = field -> false;
assertFalse(BeanUtil.checkBean(bean, predicate));
}
@Test
void checkBean_withMatchingField_shouldReturnTrue() {
- Person bean = new Person();
+ final Person bean = new Person();
Predicate predicate = field -> "name".equals(field.getName());
assertTrue(BeanUtil.checkBean(bean, predicate));
@@ -1046,12 +1046,12 @@ public class BeanUtilTest {
@Test
void findEditor_shouldReturnEditorForRegisteredType() {
// Given
- Class> type = Integer.class;
+ final Class> type = Integer.class;
// Register editor for Integer if not already registered (though usually it's pre-registered)
- PropertyEditor expectedEditor = PropertyEditorManager.findEditor(type);
+ final PropertyEditor expectedEditor = PropertyEditorManager.findEditor(type);
// When
- PropertyEditor actualEditor = BeanUtil.findEditor(type);
+ final PropertyEditor actualEditor = BeanUtil.findEditor(type);
// Then
assertNotNull(actualEditor);
@@ -1062,10 +1062,10 @@ public class BeanUtilTest {
void findEditor_shouldReturnNullForUnregisteredType() {
// Given
class CustomUnregisteredType {}
- Class> type = CustomUnregisteredType.class;
+ final Class> type = CustomUnregisteredType.class;
// When
- PropertyEditor editor = BeanUtil.findEditor(type);
+ final PropertyEditor editor = BeanUtil.findEditor(type);
// Then
assertNull(editor);
@@ -1074,10 +1074,10 @@ public class BeanUtilTest {
@Test
void findEditor_shouldHandlePrimitiveTypes() {
// Given
- Class> type = int.class;
+ final Class> type = int.class;
// When
- PropertyEditor editor = BeanUtil.findEditor(type);
+ final PropertyEditor editor = BeanUtil.findEditor(type);
// Then
assertNotNull(editor);
@@ -1085,7 +1085,7 @@ public class BeanUtilTest {
@Test
void descForEach_shouldProcessAllProperties() {
- List processedProperties = new ArrayList<>();
+ final List processedProperties = new ArrayList<>();
// 执行
BeanUtil.descForEach(Person.class, propDesc -> processedProperties.add(propDesc.getFieldName()));
@@ -1099,7 +1099,7 @@ public class BeanUtilTest {
@Test
public void testIsMatchName_SimpleMatch() {
- String testObj = "test";
+ final String testObj = "test";
assertTrue(BeanUtil.isMatchName(testObj, "String", true));
assertTrue(BeanUtil.isMatchName(testObj, "string", true));
@@ -1110,7 +1110,7 @@ public class BeanUtilTest {
@Test
public void testIsMatchName_FullMatch() {
- Integer testObj = 123;
+ final Integer testObj = 123;
assertTrue(BeanUtil.isMatchName(testObj, "java.lang.Integer", false));
assertFalse(BeanUtil.isMatchName(testObj, "Integer", false));
@@ -1120,7 +1120,7 @@ public class BeanUtilTest {
@Test
void testGetPropertyDescriptor_ExistingField() {
- PropertyDescriptor pd = BeanUtil.getPropertyDescriptor(Person.class, "name");
+ final PropertyDescriptor pd = BeanUtil.getPropertyDescriptor(Person.class, "name");
assertNotNull(pd);
assertEquals("name", pd.getName());
assertEquals(String.class, pd.getPropertyType());
@@ -1134,7 +1134,7 @@ public class BeanUtilTest {
@Test
void testBeanToMap_IgnoreNullValue() {
- Person person = new Person();
+ final Person person = new Person();
person.setName(null);
person.setAge(25);
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/bean/DynaBeanTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/bean/DynaBeanTest.java
index 290d441e1d..2a1c83a1e8 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/bean/DynaBeanTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/bean/DynaBeanTest.java
@@ -36,8 +36,8 @@ public class DynaBeanTest {
@Test
void createDynaBean_withPlainObject_shouldReturnDynaBean() {
- BeanUtilTest.Person bean = new BeanUtilTest.Person();
- DynaBean dynaBean = BeanUtil.createDynaBean(bean);
+ final BeanUtilTest.Person bean = new BeanUtilTest.Person();
+ final DynaBean dynaBean = BeanUtil.createDynaBean(bean);
assertNotNull(dynaBean);
assertEquals(bean, dynaBean.getBean());
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/cache/SimpleCacheTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/cache/SimpleCacheTest.java
index 6ce0476229..2ba837f809 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/cache/SimpleCacheTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/cache/SimpleCacheTest.java
@@ -102,7 +102,7 @@ public class SimpleCacheTest {
cache.get("key5", ()->"value5");
String key = null;
- for (Map.Entry entry : cache) {
+ for (final Map.Entry entry : cache) {
if ("value3".equals(entry.getValue())) {
key = entry.getKey();
break;
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/collection/CollUtilTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/collection/CollUtilTest.java
index 3e662b98b3..e522df491e 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/collection/CollUtilTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/collection/CollUtilTest.java
@@ -996,25 +996,25 @@ public class CollUtilTest {
@Test
public void zipTest2() {
// 1. 正常情况测试
- List list1 = ListUtil.of("a", "b", "c");
- List list2 = ListUtil.of(1, 2, 3);
- List result = CollUtil.zip(list1, list2, (s, i) -> s + i);
+ final List list1 = ListUtil.of("a", "b", "c");
+ final List list2 = ListUtil.of(1, 2, 3);
+ final List result = CollUtil.zip(list1, list2, (s, i) -> s + i);
assertEquals(ListUtil.of("a1", "b2", "c3"), result);
// 2. 空集合测试
- List emptyList = ListUtil.of();
- List emptyResult = CollUtil.zip(emptyList, list2, (s, i) -> s + i);
+ final List emptyList = ListUtil.of();
+ final List emptyResult = CollUtil.zip(emptyList, list2, (s, i) -> s + i);
assertTrue(emptyResult.isEmpty());
// 3. 不同大小集合测试(以较小集合为准)
- List longerList = ListUtil.of(1, 2, 3, 4, 5);
- List sizedResult = CollUtil.zip(list1, longerList, (s, i) -> s + i);
+ final List longerList = ListUtil.of(1, 2, 3, 4, 5);
+ final List sizedResult = CollUtil.zip(list1, longerList, (s, i) -> s + i);
assertEquals(3, sizedResult.size());
assertEquals("a1", sizedResult.get(0));
// 4. 自定义zipper函数测试
- List list3 = ListUtil.of(1.1, 2.2, 3.3);
- List customResult = CollUtil.zip(list2, list3, (i, d) -> String.format("%d-%.1f", i, d));
+ final List list3 = ListUtil.of(1.1, 2.2, 3.3);
+ final List customResult = CollUtil.zip(list2, list3, (i, d) -> String.format("%d-%.1f", i, d));
assertEquals(ListUtil.of("1-1.1", "2-2.2", "3-3.3"), customResult);
}
@@ -1166,11 +1166,11 @@ public class CollUtilTest {
@Test
void getFirstTestWithPredicateTest(){
- Animal dog = new Animal("dog", 2);
- Animal cat = new Animal("cat", 3);
- Animal bear = new Animal("bear", 4);
+ final Animal dog = new Animal("dog", 2);
+ final Animal cat = new Animal("cat", 3);
+ final Animal bear = new Animal("bear", 4);
- List list = new ArrayList<>();
+ final List list = new ArrayList<>();
list.add(dog);
list.add(cat);
list.add(bear);
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/CopiedIterTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/CopiedIterTest.java
index 033f860298..fd9b7002d2 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/CopiedIterTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/CopiedIterTest.java
@@ -31,8 +31,8 @@ public class CopiedIterTest {
@Test
public void copyOf() {
- List list = Arrays.asList(1, 2, 3);
- Iterator iter = list.iterator();
+ final List list = Arrays.asList(1, 2, 3);
+ final Iterator iter = list.iterator();
Assertions.assertEquals((Integer)1, iter.next());
Assertions.assertEquals((Integer)2, CopiedIter.copyOf(iter).next());
@@ -46,8 +46,8 @@ public class CopiedIterTest {
@Test
public void next() {
- List list = Arrays.asList(1, 2, 3);
- Iterator iter = CopiedIter.copyOf(list.iterator());
+ final List list = Arrays.asList(1, 2, 3);
+ final Iterator iter = CopiedIter.copyOf(list.iterator());
Assertions.assertEquals((Integer)1, iter.next());
Assertions.assertEquals((Integer)2, iter.next());
Assertions.assertEquals((Integer)3, iter.next());
@@ -55,8 +55,8 @@ public class CopiedIterTest {
@Test
public void remove() {
- List list = Arrays.asList(1, 2, 3);
- Iterator iter = CopiedIter.copyOf(list.iterator());
+ final List list = Arrays.asList(1, 2, 3);
+ final Iterator iter = CopiedIter.copyOf(list.iterator());
Assertions.assertThrows(UnsupportedOperationException.class, iter::remove);
}
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/EnumerationIterTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/EnumerationIterTest.java
index e956e85940..171ee5c968 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/EnumerationIterTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/EnumerationIterTest.java
@@ -30,16 +30,16 @@ public class EnumerationIterTest {
@Test
public void testHasNext() {
- Enumeration enumeration = new IteratorEnumeration<>(Arrays.asList(1, 2, 3).iterator());
- EnumerationIter iter = new EnumerationIter<>(enumeration);
+ final Enumeration enumeration = new IteratorEnumeration<>(Arrays.asList(1, 2, 3).iterator());
+ final EnumerationIter iter = new EnumerationIter<>(enumeration);
Assertions.assertTrue(iter.hasNext());
Assertions.assertFalse(new EnumerationIter<>(new IteratorEnumeration<>(Collections.emptyIterator())).hasNext());
}
@Test
public void testNext() {
- Enumeration enumeration = new IteratorEnumeration<>(Arrays.asList(1, 2, 3).iterator());
- EnumerationIter iter = new EnumerationIter<>(enumeration);
+ final Enumeration enumeration = new IteratorEnumeration<>(Arrays.asList(1, 2, 3).iterator());
+ final EnumerationIter iter = new EnumerationIter<>(enumeration);
Assertions.assertEquals((Integer)1, iter.next());
Assertions.assertEquals((Integer)2, iter.next());
Assertions.assertEquals((Integer)3, iter.next());
@@ -47,15 +47,15 @@ public class EnumerationIterTest {
@Test
public void testRemove() {
- Enumeration enumeration = new IteratorEnumeration<>(Arrays.asList(1, 2, 3).iterator());
- EnumerationIter iter = new EnumerationIter<>(enumeration);
+ final Enumeration enumeration = new IteratorEnumeration<>(Arrays.asList(1, 2, 3).iterator());
+ final EnumerationIter iter = new EnumerationIter<>(enumeration);
Assertions.assertThrows(UnsupportedOperationException.class, iter::remove);
}
@Test
public void testIterator() {
- Enumeration enumeration = new IteratorEnumeration<>(Arrays.asList(1, 2, 3).iterator());
- EnumerationIter iter = new EnumerationIter<>(enumeration);
+ final Enumeration enumeration = new IteratorEnumeration<>(Arrays.asList(1, 2, 3).iterator());
+ final EnumerationIter iter = new EnumerationIter<>(enumeration);
Assertions.assertSame(iter, iter.iterator());
}
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/FilterIterTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/FilterIterTest.java
index 0ab0b2edab..9888fd5bcf 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/FilterIterTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/FilterIterTest.java
@@ -51,27 +51,27 @@ public class FilterIterTest {
@Test
public void next() {
// 只保留奇数
- Iterator iter = new FilterIter<>(Arrays.asList(1, 2, 3).iterator(), i -> (i & 1) == 1);
+ final Iterator iter = new FilterIter<>(Arrays.asList(1, 2, 3).iterator(), i -> (i & 1) == 1);
Assertions.assertEquals((Integer)1, iter.next());
Assertions.assertEquals((Integer)3, iter.next());
}
@Test
public void remove() {
- Iterator iter = new FilterIter<>(Collections.emptyIterator(), i -> true);
+ final Iterator iter = new FilterIter<>(Collections.emptyIterator(), i -> true);
Assertions.assertThrows(IllegalStateException.class, iter::remove);
}
@Test
public void getIterator() {
- FilterIter iter = new FilterIter<>(Collections.emptyIterator(), i -> true);
+ final FilterIter iter = new FilterIter<>(Collections.emptyIterator(), i -> true);
Assertions.assertSame(Collections.emptyIterator(), iter.getIterator());
}
@Test
public void getFilter() {
- Predicate predicate = i -> true;
- FilterIter iter = new FilterIter<>(Collections.emptyIterator(), predicate);
+ final Predicate predicate = i -> true;
+ final FilterIter iter = new FilterIter<>(Collections.emptyIterator(), predicate);
Assertions.assertSame(predicate, iter.getFilter());
}
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/IteratorEnumerationTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/IteratorEnumerationTest.java
index 0c08695830..1b79db5841 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/IteratorEnumerationTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/IteratorEnumerationTest.java
@@ -30,16 +30,16 @@ public class IteratorEnumerationTest {
@Test
public void testHasMoreElements() {
- List list = Arrays.asList(1, 2, 3);
- IteratorEnumeration enumeration = new IteratorEnumeration<>(list.iterator());
+ final List list = Arrays.asList(1, 2, 3);
+ final IteratorEnumeration enumeration = new IteratorEnumeration<>(list.iterator());
Assertions.assertTrue(enumeration.hasMoreElements());
Assertions.assertFalse(new IteratorEnumeration<>(Collections.emptyIterator()).hasMoreElements());
}
@Test
public void testNextElement() {
- List list = Arrays.asList(1, 2, 3);
- IteratorEnumeration enumeration = new IteratorEnumeration<>(list.iterator());
+ final List list = Arrays.asList(1, 2, 3);
+ final IteratorEnumeration enumeration = new IteratorEnumeration<>(list.iterator());
Assertions.assertEquals((Integer)1, enumeration.nextElement());
Assertions.assertEquals((Integer)2, enumeration.nextElement());
Assertions.assertEquals((Integer)3, enumeration.nextElement());
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/PartitionIterTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/PartitionIterTest.java
index 97aea4ee9c..1065644310 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/PartitionIterTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/PartitionIterTest.java
@@ -30,16 +30,16 @@ public class PartitionIterTest {
@Test
public void testHasNext() {
- Iterator iter = Arrays.asList(1, 2, 3, 4).iterator();
- PartitionIter partitionIter = new PartitionIter<>(iter, 2);
+ final Iterator iter = Arrays.asList(1, 2, 3, 4).iterator();
+ final PartitionIter partitionIter = new PartitionIter<>(iter, 2);
Assertions.assertTrue(partitionIter.hasNext());
Assertions.assertFalse(new PartitionIter<>(Collections.emptyIterator(), 1).hasNext());
}
@Test
public void testNext() {
- Iterator iter = Arrays.asList(1, 2, 3, 4).iterator();
- PartitionIter partitionIter = new PartitionIter<>(iter, 2);
+ final Iterator iter = Arrays.asList(1, 2, 3, 4).iterator();
+ final PartitionIter partitionIter = new PartitionIter<>(iter, 2);
Assertions.assertEquals(Arrays.asList(1, 2), partitionIter.next());
Assertions.assertEquals(Arrays.asList(3, 4), partitionIter.next());
}
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/TransIterTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/TransIterTest.java
index 69c6e9d0c3..59cde4bd55 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/TransIterTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/collection/iter/TransIterTest.java
@@ -32,14 +32,14 @@ public class TransIterTest {
@Test
public void testHasNext() {
- TransIter iter = new TransIter<>(Arrays.asList(1, 2, 3).iterator(), String::valueOf);
+ final TransIter iter = new TransIter<>(Arrays.asList(1, 2, 3).iterator(), String::valueOf);
Assertions.assertTrue(iter.hasNext());
Assertions.assertFalse(new TransIter<>(Collections.emptyIterator(), Function.identity()).hasNext());
}
@Test
public void testNext() {
- TransIter iter = new TransIter<>(Arrays.asList(1, 2, 3).iterator(), String::valueOf);
+ final TransIter iter = new TransIter<>(Arrays.asList(1, 2, 3).iterator(), String::valueOf);
Assertions.assertEquals("1", iter.next());
Assertions.assertEquals("2", iter.next());
Assertions.assertEquals("3", iter.next());
@@ -47,8 +47,8 @@ public class TransIterTest {
@Test
public void testRemove() {
- List list = ListUtil.of(1, 2, 3);
- TransIter iter = new TransIter<>(list.iterator(), String::valueOf);
+ final List list = ListUtil.of(1, 2, 3);
+ final TransIter iter = new TransIter<>(list.iterator(), String::valueOf);
iter.next();
iter.remove();
iter.next();
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/date/chinese/ShiChenTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/date/chinese/ShiChenTest.java
index 9bced41423..7b6b879299 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/date/chinese/ShiChenTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/date/chinese/ShiChenTest.java
@@ -39,8 +39,8 @@ public class ShiChenTest {
assertEquals(1, ShiChen.toModernTime("子正").between(DateUnit.HOUR));
// 测试所有时辰
- String[] times = {"子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"};
- for (String time : times) {
+ final String[] times = {"子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"};
+ for (final String time : times) {
assertEquals(2, ShiChen.toModernTime(time + "时").between(DateUnit.HOUR));
assertEquals(1, ShiChen.toModernTime(time + "初").between(DateUnit.HOUR));
assertEquals(1, ShiChen.toModernTime(time + "正").between(DateUnit.HOUR));
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/func/PredicateUtilTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/func/PredicateUtilTest.java
index 9aedf0e812..9d68cc5828 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/func/PredicateUtilTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/func/PredicateUtilTest.java
@@ -41,7 +41,7 @@ public class PredicateUtilTest {
@Test
public void andTest() {
- boolean condition = Stream.of(1, 3, 5)
+ final boolean condition = Stream.of(1, 3, 5)
.allMatch(
PredicateUtil.and(
Objects::nonNull,
@@ -54,7 +54,7 @@ public class PredicateUtilTest {
@Test
public void orTest() {
- boolean condition = Stream.of(1, 3, 5)
+ final boolean condition = Stream.of(1, 3, 5)
.anyMatch(
PredicateUtil.or(
Objects::isNull,
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableBoolTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableBoolTest.java
index b5c927296b..6ee9c480eb 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableBoolTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableBoolTest.java
@@ -50,7 +50,7 @@ public class MutableBoolTest extends BaseMutableTest {
* @return 值
*/
@Override
- MutableBool getMutable(Boolean value) {
+ MutableBool getMutable(final Boolean value) {
return new MutableBool(value);
}
}
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableByteTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableByteTest.java
index e90e6f3c70..9634dbbe74 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableByteTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableByteTest.java
@@ -48,7 +48,7 @@ public class MutableByteTest extends BaseMutableTest {
* @return 值
*/
@Override
- MutableByte getMutable(Number value) {
+ MutableByte getMutable(final Number value) {
return new MutableByte(value);
}
}
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableDoubleTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableDoubleTest.java
index 1d48d0bf56..889b690621 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableDoubleTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableDoubleTest.java
@@ -48,7 +48,7 @@ public class MutableDoubleTest extends BaseMutableTest {
* @return 值
*/
@Override
- MutableDouble getMutable(Number value) {
+ MutableDouble getMutable(final Number value) {
return new MutableDouble(value);
}
}
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableEntryTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableEntryTest.java
index e4774ef839..8fee9da206 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableEntryTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableEntryTest.java
@@ -55,7 +55,7 @@ public class MutableEntryTest extends BaseMutableTest,
* @return 值
*/
@Override
- MutableEntry getMutable(Map.Entry value) {
+ MutableEntry getMutable(final Map.Entry value) {
return new MutableEntry<>(value.getKey(), value.getValue());
}
}
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableFloatTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableFloatTest.java
index ad10ef2a6f..a68396bad2 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableFloatTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableFloatTest.java
@@ -47,7 +47,7 @@ public class MutableFloatTest extends BaseMutableTest {
* @return 值
*/
@Override
- MutableFloat getMutable(Number value) {
+ MutableFloat getMutable(final Number value) {
return new MutableFloat(value);
}
}
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableIntTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableIntTest.java
index 9ee583a0a1..557d482be2 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableIntTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableIntTest.java
@@ -47,7 +47,7 @@ public class MutableIntTest extends BaseMutableTest {
* @return 值
*/
@Override
- MutableInt getMutable(Number value) {
+ MutableInt getMutable(final Number value) {
return new MutableInt(value);
}
}
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableLongTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableLongTest.java
index 00c04c7785..0defe07246 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableLongTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableLongTest.java
@@ -47,7 +47,7 @@ public class MutableLongTest extends BaseMutableTest {
* @return 值
*/
@Override
- MutableLong getMutable(Number value) {
+ MutableLong getMutable(final Number value) {
return new MutableLong(value);
}
}
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableObjTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableObjTest.java
index 691d9c171e..0daa088c99 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableObjTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableObjTest.java
@@ -50,7 +50,7 @@ class MutableObjTest extends BaseMutableTest> {
* @return 值
*/
@Override
- MutableObj getMutable(String value) {
+ MutableObj getMutable(final String value) {
return new MutableObj<>(value);
}
}
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableShortTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableShortTest.java
index b61b4336ce..0f4b2e5b44 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableShortTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableShortTest.java
@@ -47,7 +47,7 @@ public class MutableShortTest extends BaseMutableTest {
* @return 值
*/
@Override
- MutableShort getMutable(Number value) {
+ MutableShort getMutable(final Number value) {
return new MutableShort(value);
}
}
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableTripleTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableTripleTest.java
index fdb69ec231..c5bb48527b 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableTripleTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/lang/mutable/MutableTripleTest.java
@@ -51,7 +51,7 @@ public class MutableTripleTest extends BaseMutableTest getMutable(MutableTriple value) {
+ MutableTriple getMutable(final MutableTriple value) {
return new MutableTriple<>(value.getLeft(), value.getMiddle(), value.getRight());
}
}
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/lang/range/BoundTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/lang/range/BoundTest.java
index 2694fafae6..5ba70e2138 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/lang/range/BoundTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/lang/range/BoundTest.java
@@ -30,9 +30,9 @@ public class BoundTest {
@Test
@DisplayName("测试相邻区间合并")
void testUnionIfIntersectedWithAdjacentRanges() {
- BoundedRange range1 = BoundedRange.close(1, 3);
- BoundedRange range2 = BoundedRange.close(3, 5);
- BoundedRange result = BoundedRangeOperation.unionIfIntersected(range1, range2);
+ final BoundedRange range1 = BoundedRange.close(1, 3);
+ final BoundedRange range2 = BoundedRange.close(3, 5);
+ final BoundedRange result = BoundedRangeOperation.unionIfIntersected(range1, range2);
assertEquals(Bound.atLeast(1), result.getLowerBound());
assertEquals(Bound.atMost(5), result.getUpperBound());
@@ -40,8 +40,8 @@ public class BoundTest {
@Test
void isDisjointTest(){
- BoundedRange range1 = BoundedRange.close(1, 3);
- BoundedRange range2 = BoundedRange.close(3, 5);
+ final BoundedRange range1 = BoundedRange.close(1, 3);
+ final BoundedRange range2 = BoundedRange.close(3, 5);
// 点重合,相交
assertFalse(range1.isDisjoint(range2));
}
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/lang/range/RangeTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/lang/range/RangeTest.java
index be8f2e37a2..5eeeb66a84 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/lang/range/RangeTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/lang/range/RangeTest.java
@@ -43,9 +43,9 @@ public class RangeTest {
@Test
@DisplayName("测试不包含起始元素的迭代")
void testIteratorWithoutIncludeStart() {
- Range range = new Range<>(1, 5, (current, end, index) -> current + 1, false, true);
- List elements = new ArrayList<>();
- for (Integer i : range) {
+ final Range range = new Range<>(1, 5, (current, end, index) -> current + 1, false, true);
+ final List elements = new ArrayList<>();
+ for (final Integer i : range) {
elements.add(i);
}
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/lang/ref/PhantomObjTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/lang/ref/PhantomObjTest.java
index 6e385273b5..6482d3fb3d 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/lang/ref/PhantomObjTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/lang/ref/PhantomObjTest.java
@@ -24,8 +24,8 @@ class PhantomObjTest {
@Test
@DisplayName("测试 equals 方法与不同引用对象比较")
void testEqualsWithDifferentReferent() {
- String differentObject = "different";
- PhantomObj anotherPhantomObj = new PhantomObj<>(differentObject, queue);
+ final String differentObject = "different";
+ final PhantomObj anotherPhantomObj = new PhantomObj<>(differentObject, queue);
assertFalse(phantomObj.equals(anotherPhantomObj));
}
}
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/lang/selector/IncrementSelectorTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/lang/selector/IncrementSelectorTest.java
index 342318f930..7c10af5293 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/lang/selector/IncrementSelectorTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/lang/selector/IncrementSelectorTest.java
@@ -28,7 +28,7 @@ public class IncrementSelectorTest {
*/
@Test
void testSelectNormalCycle() {
- IncrementSelector selector = new IncrementSelector<>(List.of("A", "B", "C"));
+ final IncrementSelector selector = new IncrementSelector<>(List.of("A", "B", "C"));
assertEquals("A", selector.select()); // 第一次调用应返回第一个元素
assertEquals("B", selector.select()); // 第二次调用应返回第二个元素
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/map/CollectionValueMapTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/map/CollectionValueMapTest.java
index 12ac734bfc..8802de4467 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/map/CollectionValueMapTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/map/CollectionValueMapTest.java
@@ -28,16 +28,16 @@ public class CollectionValueMapTest {
@Test
public void putTest() {
- MultiValueMap map = new CollectionValueMap<>();
+ final MultiValueMap map = new CollectionValueMap<>();
Assertions.assertNull(map.put(1, Arrays.asList("a", "b")));
- Collection collection = map.put(1, Arrays.asList("c", "d"));
+ final Collection collection = map.put(1, Arrays.asList("c", "d"));
Assertions.assertEquals(Arrays.asList("a", "b"), collection);
}
@Test
public void putAllTest() {
- MultiValueMap map = new CollectionValueMap<>();
- Map> source = new HashMap<>();
+ final MultiValueMap map = new CollectionValueMap<>();
+ final Map> source = new HashMap<>();
source.put(1, Arrays.asList("a", "b", "c"));
map.putAll(source);
Assertions.assertEquals(1, map.size());
@@ -46,7 +46,7 @@ public class CollectionValueMapTest {
@Test
public void putValueTest() {
- MultiValueMap map = new CollectionValueMap<>();
+ final MultiValueMap map = new CollectionValueMap<>();
Assertions.assertTrue(map.putValue(1, "a"));
Assertions.assertTrue(map.putValue(1, "b"));
Assertions.assertTrue(map.putValue(1, "c"));
@@ -56,12 +56,12 @@ public class CollectionValueMapTest {
@Test
public void putAllValueTest() {
- MultiValueMap map = new CollectionValueMap<>();
+ final MultiValueMap map = new CollectionValueMap<>();
Assertions.assertTrue(map.putAllValues(1, Arrays.asList("a", "b", "c")));
Assertions.assertEquals(1, map.size());
Assertions.assertEquals(Arrays.asList("a", "b", "c"), map.get(1));
- Map> source = new HashMap<>();
+ final Map> source = new HashMap<>();
Assertions.assertTrue(map.putValue(1, "e"));
Assertions.assertTrue(map.putValue(1, "f"));
map.putAllValues(source);
@@ -70,14 +70,14 @@ public class CollectionValueMapTest {
@Test
public void putValuesTest() {
- MultiValueMap map = new CollectionValueMap<>();
+ final MultiValueMap map = new CollectionValueMap<>();
Assertions.assertTrue(map.putValues(1, "a", "b", "c"));
Assertions.assertEquals(Arrays.asList("a", "b", "c"), map.get(1));
}
@Test
public void testFilterAllValues() {
- MultiValueMap map = new CollectionValueMap<>();
+ final MultiValueMap map = new CollectionValueMap<>();
Assertions.assertTrue(map.putValues(1, "a", "b", "c"));
Assertions.assertTrue(map.putValues(2, "a", "b", "c"));
@@ -92,7 +92,7 @@ public class CollectionValueMapTest {
@Test
public void testReplaceAllValues() {
- MultiValueMap map = new CollectionValueMap<>();
+ final MultiValueMap map = new CollectionValueMap<>();
Assertions.assertTrue(map.putValues(1, "a", "b", "c"));
Assertions.assertTrue(map.putValues(2, "a", "b", "c"));
@@ -107,7 +107,7 @@ public class CollectionValueMapTest {
@Test
public void removeValueTest() {
- MultiValueMap map = new CollectionValueMap<>();
+ final MultiValueMap map = new CollectionValueMap<>();
map.putValues(1, "a", "b", "c");
Assertions.assertFalse(map.removeValue(1, "d"));
Assertions.assertTrue(map.removeValue(1, "c"));
@@ -116,7 +116,7 @@ public class CollectionValueMapTest {
@Test
public void removeAllValuesTest() {
- MultiValueMap map = new CollectionValueMap<>();
+ final MultiValueMap map = new CollectionValueMap<>();
map.putValues(1, "a", "b", "c");
Assertions.assertFalse(map.removeAllValues(1, Arrays.asList("e", "f")));
Assertions.assertTrue(map.removeAllValues(1, Arrays.asList("b", "c")));
@@ -125,7 +125,7 @@ public class CollectionValueMapTest {
@Test
public void removeValuesTest() {
- MultiValueMap map = new CollectionValueMap<>();
+ final MultiValueMap map = new CollectionValueMap<>();
map.putValues(1, "a", "b", "c");
Assertions.assertFalse(map.removeValues(1, "e", "f"));
Assertions.assertTrue(map.removeValues(1, "b", "c"));
@@ -134,7 +134,7 @@ public class CollectionValueMapTest {
@Test
public void getValuesTest() {
- MultiValueMap map = new CollectionValueMap<>();
+ final MultiValueMap map = new CollectionValueMap<>();
map.putValues(1, "a", "b", "c");
Assertions.assertEquals(Collections.emptyList(), map.getValues(2));
Assertions.assertEquals(Arrays.asList("a", "b", "c"), map.getValues(1));
@@ -142,7 +142,7 @@ public class CollectionValueMapTest {
@Test
public void sizeTest() {
- MultiValueMap map = new CollectionValueMap<>();
+ final MultiValueMap map = new CollectionValueMap<>();
map.putValues(1, "a", "b", "c");
Assertions.assertEquals(0, map.size(2));
Assertions.assertEquals(3, map.size(1));
@@ -150,10 +150,10 @@ public class CollectionValueMapTest {
@Test
public void allForEachTest() {
- MultiValueMap map = new CollectionValueMap<>();
+ final MultiValueMap map = new CollectionValueMap<>();
map.putValues(1, "a", "b", "c");
- List keys = new ArrayList<>();
- List values = new ArrayList<>();
+ final List keys = new ArrayList<>();
+ final List values = new ArrayList<>();
map.allForEach((k, v) -> {
keys.add(k);
values.add(v);
@@ -164,7 +164,7 @@ public class CollectionValueMapTest {
@Test
public void allValuesTest() {
- MultiValueMap map = new CollectionValueMap<>(new LinkedHashMap<>());
+ final MultiValueMap map = new CollectionValueMap<>(new LinkedHashMap<>());
map.putAllValues(1, Arrays.asList("a", "b", "c"));
map.putAllValues(2, Arrays.asList("d", "e"));
Assertions.assertEquals(
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/map/ListValueMapTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/map/ListValueMapTest.java
index c3e9b05425..62009df501 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/map/ListValueMapTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/map/ListValueMapTest.java
@@ -28,16 +28,16 @@ public class ListValueMapTest {
@Test
public void putTest() {
- MultiValueMap map = new ListValueMap<>();
+ final MultiValueMap map = new ListValueMap<>();
Assertions.assertNull(map.put(1, Arrays.asList("a", "b")));
- Collection collection = map.put(1, Arrays.asList("c", "d"));
+ final Collection collection = map.put(1, Arrays.asList("c", "d"));
Assertions.assertEquals(Arrays.asList("a", "b"), collection);
}
@Test
public void putAllTest() {
- MultiValueMap map = new ListValueMap<>();
- Map> source = new HashMap<>();
+ final MultiValueMap map = new ListValueMap<>();
+ final Map> source = new HashMap<>();
source.put(1, Arrays.asList("a", "b", "c"));
map.putAll(source);
Assertions.assertEquals(1, map.size());
@@ -46,7 +46,7 @@ public class ListValueMapTest {
@Test
public void putValueTest() {
- MultiValueMap map = new ListValueMap<>();
+ final MultiValueMap map = new ListValueMap<>();
Assertions.assertTrue(map.putValue(1, "a"));
Assertions.assertTrue(map.putValue(1, "b"));
Assertions.assertTrue(map.putValue(1, "c"));
@@ -56,12 +56,12 @@ public class ListValueMapTest {
@Test
public void putAllValueTest() {
- MultiValueMap map = new ListValueMap<>();
+ final MultiValueMap map = new ListValueMap<>();
Assertions.assertTrue(map.putAllValues(1, Arrays.asList("a", "b", "c")));
Assertions.assertEquals(1, map.size());
Assertions.assertEquals(Arrays.asList("a", "b", "c"), map.get(1));
- Map> source = new HashMap<>();
+ final Map> source = new HashMap<>();
Assertions.assertTrue(map.putValue(1, "e"));
Assertions.assertTrue(map.putValue(1, "f"));
map.putAllValues(source);
@@ -70,14 +70,14 @@ public class ListValueMapTest {
@Test
public void putValuesTest() {
- MultiValueMap map = new ListValueMap<>();
+ final MultiValueMap map = new ListValueMap<>();
Assertions.assertTrue(map.putValues(1, "a", "b", "c"));
Assertions.assertEquals(Arrays.asList("a", "b", "c"), map.get(1));
}
@Test
public void removeValueTest() {
- MultiValueMap map = new ListValueMap<>();
+ final MultiValueMap map = new ListValueMap<>();
map.putValues(1, "a", "b", "c");
Assertions.assertFalse(map.removeValue(1, "d"));
Assertions.assertTrue(map.removeValue(1, "c"));
@@ -86,7 +86,7 @@ public class ListValueMapTest {
@Test
public void removeAllValuesTest() {
- MultiValueMap map = new ListValueMap<>();
+ final MultiValueMap map = new ListValueMap<>();
map.putValues(1, "a", "b", "c");
Assertions.assertFalse(map.removeAllValues(1, Arrays.asList("e", "f")));
Assertions.assertTrue(map.removeAllValues(1, Arrays.asList("b", "c")));
@@ -95,7 +95,7 @@ public class ListValueMapTest {
@Test
public void removeValuesTest() {
- MultiValueMap map = new ListValueMap<>();
+ final MultiValueMap map = new ListValueMap<>();
map.putValues(1, "a", "b", "c");
Assertions.assertFalse(map.removeValues(1, "e", "f"));
Assertions.assertTrue(map.removeValues(1, "b", "c"));
@@ -104,7 +104,7 @@ public class ListValueMapTest {
@Test
public void testFilterAllValues() {
- MultiValueMap map = new ListValueMap<>();
+ final MultiValueMap map = new ListValueMap<>();
Assertions.assertTrue(map.putValues(1, "a", "b", "c"));
Assertions.assertTrue(map.putValues(2, "a", "b", "c"));
@@ -119,7 +119,7 @@ public class ListValueMapTest {
@Test
public void testReplaceAllValues() {
- MultiValueMap map = new ListValueMap<>();
+ final MultiValueMap map = new ListValueMap<>();
Assertions.assertTrue(map.putValues(1, "a", "b", "c"));
Assertions.assertTrue(map.putValues(2, "a", "b", "c"));
@@ -134,7 +134,7 @@ public class ListValueMapTest {
@Test
public void getValuesTest() {
- MultiValueMap map = new ListValueMap<>();
+ final MultiValueMap map = new ListValueMap<>();
map.putValues(1, "a", "b", "c");
Assertions.assertEquals(Collections.emptyList(), map.getValues(2));
Assertions.assertEquals(Arrays.asList("a", "b", "c"), map.getValues(1));
@@ -142,7 +142,7 @@ public class ListValueMapTest {
@Test
public void sizeTest() {
- MultiValueMap map = new ListValueMap<>();
+ final MultiValueMap map = new ListValueMap<>();
map.putValues(1, "a", "b", "c");
Assertions.assertEquals(0, map.size(2));
Assertions.assertEquals(3, map.size(1));
@@ -150,10 +150,10 @@ public class ListValueMapTest {
@Test
public void allForEachTest() {
- MultiValueMap map = new ListValueMap<>();
+ final MultiValueMap map = new ListValueMap<>();
map.putValues(1, "a", "b", "c");
- List keys = new ArrayList<>();
- List values = new ArrayList<>();
+ final List keys = new ArrayList<>();
+ final List values = new ArrayList<>();
map.allForEach((k, v) -> {
keys.add(k);
values.add(v);
@@ -164,7 +164,7 @@ public class ListValueMapTest {
@Test
public void allValuesTest() {
- MultiValueMap map = new ListValueMap<>();
+ final MultiValueMap map = new ListValueMap<>();
map.putAllValues(1, Arrays.asList("a", "b", "c"));
map.putAllValues(2, Arrays.asList("d", "e"));
Assertions.assertEquals(
diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/map/SetValueMapTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/map/SetValueMapTest.java
index a68c907333..c5bfad98e4 100644
--- a/hutool-core/src/test/java/cn/hutool/v7/core/map/SetValueMapTest.java
+++ b/hutool-core/src/test/java/cn/hutool/v7/core/map/SetValueMapTest.java
@@ -28,16 +28,16 @@ public class SetValueMapTest {
@Test
public void putTest() {
- MultiValueMap map = new SetValueMap<>();
+ final MultiValueMap map = new SetValueMap<>();
Assertions.assertNull(map.put(1, Arrays.asList("a", "b")));
- Collection collection = map.put(1, Arrays.asList("c", "d"));
+ final Collection collection = map.put(1, Arrays.asList("c", "d"));
Assertions.assertEquals(Arrays.asList("a", "b"), collection);
}
@Test
public void putAllTest() {
- MultiValueMap map = new SetValueMap<>();
- Map> source = new HashMap<>();
+ final MultiValueMap map = new SetValueMap<>();
+ final Map> source = new HashMap<>();
source.put(1, Arrays.asList("a", "b", "c"));
map.putAll(source);
Assertions.assertEquals(1, map.size());
@@ -46,7 +46,7 @@ public class SetValueMapTest {
@Test
public void putValueTest() {
- MultiValueMap map = new SetValueMap<>();
+ final MultiValueMap map = new SetValueMap<>();
Assertions.assertTrue(map.putValue(1, "a"));
Assertions.assertTrue(map.putValue(1, "b"));
Assertions.assertTrue(map.putValue(1, "c"));
@@ -56,12 +56,12 @@ public class SetValueMapTest {
@Test
public void putAllValueTest() {
- MultiValueMap map = new SetValueMap<>();
+ final MultiValueMap map = new SetValueMap<>();
Assertions.assertTrue(map.putAllValues(1, Arrays.asList("a", "b", "c")));
Assertions.assertEquals(1, map.size());
Assertions.assertEquals(new HashSet<>(Arrays.asList("a", "b", "c")), map.get(1));
- Map> source = new HashMap<>();
+ final Map> source = new HashMap<>();
Assertions.assertTrue(map.putValue(1, "e"));
Assertions.assertFalse(map.putValue(1, "e"));
Assertions.assertTrue(map.putValue(1, "f"));
@@ -72,14 +72,14 @@ public class SetValueMapTest {
@Test
public void putValuesTest() {
- MultiValueMap map = new SetValueMap<>();
+ final MultiValueMap map = new SetValueMap<>();
Assertions.assertTrue(map.putValues(1, "a", "b", "c"));
Assertions.assertEquals(new HashSet<>(Arrays.asList("a", "b", "c")), map.get(1));
}
@Test
public void removeValueTest() {
- MultiValueMap map = new SetValueMap<>();
+ final MultiValueMap map = new SetValueMap<>();
map.putValues(1, "a", "b", "c");
Assertions.assertFalse(map.removeValue(1, "d"));
Assertions.assertTrue(map.removeValue(1, "c"));
@@ -88,7 +88,7 @@ public class SetValueMapTest {
@Test
public void removeAllValuesTest() {
- MultiValueMap map = new SetValueMap<>();
+ final MultiValueMap map = new SetValueMap<>();
map.putValues(1, "a", "b", "c");
Assertions.assertFalse(map.removeAllValues(1, Arrays.asList("e", "f")));
Assertions.assertTrue(map.removeAllValues(1, Arrays.asList("b", "c")));
@@ -97,7 +97,7 @@ public class SetValueMapTest {
@Test
public void removeValuesTest() {
- MultiValueMap map = new SetValueMap<>();
+ final MultiValueMap map = new SetValueMap<>();
map.putValues(1, "a", "b", "c");
Assertions.assertFalse(map.removeValues(1, "e", "f"));
Assertions.assertTrue(map.removeValues(1, "b", "c"));
@@ -106,7 +106,7 @@ public class SetValueMapTest {
@Test
public void testFilterAllValues() {
- MultiValueMap map = new SetValueMap<>();
+ final MultiValueMap map = new SetValueMap<>();
Assertions.assertTrue(map.putValues(1, "a", "b", "c"));
Assertions.assertTrue(map.putValues(2, "a", "b", "c"));
@@ -121,7 +121,7 @@ public class SetValueMapTest {
@Test
public void testReplaceAllValues() {
- MultiValueMap map = new SetValueMap<>();
+ final MultiValueMap map = new SetValueMap<>();
Assertions.assertTrue(map.putValues(1, "a", "b", "c"));
Assertions.assertTrue(map.putValues(2, "a", "b", "c"));
@@ -136,7 +136,7 @@ public class SetValueMapTest {
@Test
public void getValuesTest() {
- MultiValueMap map = new SetValueMap<>();
+ final MultiValueMap map = new SetValueMap<>();
map.putValues(1, "a", "b", "c");
Assertions.assertEquals(Collections.emptyList(), map.getValues(2));
Assertions.assertEquals(new HashSet<>(Arrays.asList("a", "b", "c")), map.getValues(1));
@@ -144,7 +144,7 @@ public class SetValueMapTest {
@Test
public void sizeTest() {
- MultiValueMap map = new SetValueMap<>();
+ final MultiValueMap map = new SetValueMap<>();
map.putValues(1, "a", "b", "c");
Assertions.assertEquals(0, map.size(2));
Assertions.assertEquals(3, map.size(1));
@@ -152,10 +152,10 @@ public class SetValueMapTest {
@Test
public void allForEachTest() {
- MultiValueMap map = new SetValueMap<>();
+ final MultiValueMap