From f3a6aabebcaf1647cb0bdb1d01ec114649be17b3 Mon Sep 17 00:00:00 2001 From: minglipro Date: Sat, 5 Jul 2025 13:52:58 +0800 Subject: [PATCH] a --- build.gradle.kts | 2 +- gradle.properties | 4 +- settings.gradle.kts | 2 +- src/main/java/com/mingliqiye/Main.java | 13 ---- .../java/com/mingliqiye/utils/StringUtil.java | 67 +++++++++++++++++++ 5 files changed, 71 insertions(+), 17 deletions(-) delete mode 100644 src/main/java/com/mingliqiye/Main.java create mode 100644 src/main/java/com/mingliqiye/utils/StringUtil.java diff --git a/build.gradle.kts b/build.gradle.kts index bc9ce53..5525b82 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -32,7 +32,7 @@ dependencies { testImplementation(platform("org.junit:junit-bom:5.10.0")) testImplementation("org.junit.jupiter:junit-jupiter") testRuntimeOnly("org.junit.platform:junit-platform-launcher") - implementation("org.checkerframework:checker-qual:3.43.0") + implementation("org.slf4j:slf4j-api:2.0.17") } tasks.test { diff --git a/gradle.properties b/gradle.properties index 58d8b22..17d52f2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ GROUPSID=com.mingliqiye -ARTIFACTID=socket-utilts +ARTIFACTID=string-utilts VERSIONS=0.1 -MAINCLASS=com.mingliqiye.Main +MAINCLASS=com.mingliqiye JDKVERSIONS=1.8 diff --git a/settings.gradle.kts b/settings.gradle.kts index 79dab80..fd15976 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1 +1 @@ -rootProject.name = "socket-utilts" +rootProject.name = "string-utilts" diff --git a/src/main/java/com/mingliqiye/Main.java b/src/main/java/com/mingliqiye/Main.java deleted file mode 100644 index 1f285d4..0000000 --- a/src/main/java/com/mingliqiye/Main.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.mingliqiye; - -public class Main { - /** - * @param args [] - */ - public static void main(String[] args) { - System.out.print("Hello and welcome!"); - for (int i = 1; i <= 5; i++) { - System.out.println("i = " + i); - } - } -} diff --git a/src/main/java/com/mingliqiye/utils/StringUtil.java b/src/main/java/com/mingliqiye/utils/StringUtil.java new file mode 100644 index 0000000..6041aab --- /dev/null +++ b/src/main/java/com/mingliqiye/utils/StringUtil.java @@ -0,0 +1,67 @@ +package com.mingliqiye.utils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.slf4j.helpers.MessageFormatter; + +public class StringUtil { + + public static String toString(Object obj) { + return obj == null ? "" : obj.toString(); + } + + public static String format(String format, Object... args) { + return MessageFormatter.arrayFormat(format, args).getMessage(); + } + + public static boolean isEmpty(String str) { + return str == null || str.isEmpty(); + } + + + public static String joinOf(String spec, String... objects) { + return join(spec, Arrays.asList(objects)); + } + + + public static List split(String str, String separator) { + List data = + new ArrayList<>(Arrays.asList(str.split(separator))); + while (!data.isEmpty() && data.getFirst().isEmpty()) { + data.removeFirst(); + } + return data; + } + + public static

String join( + String separator, List

list, + PRFunction fun + ) { + StringBuilder sb = StringUtil.stringBuilder(); + for (int i = 0; i < list.size(); i++) { + P item = list.get(i); + if (i == 0) { + sb.append(fun == null ? item.toString() : fun.call(item)); + } else { + sb.append(separator) + .append(fun == null ? item.toString() : fun.call(item)); + } + } + return sb.toString(); + } + + public static String join(String separator, List list) { + return join(separator, list, null); + } + + public static StringBuilder stringBuilder() { + return new StringBuilder(); + } + + @FunctionalInterface + public interface PRFunction { + R call(P p); + } +}