diff --git a/build.gradle.kts b/build.gradle.kts index 6caf27a..494b3c5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -16,7 +16,7 @@ * ProjectName mingli-utils * ModuleName mingli-utils * CurrentFile build.gradle.kts - * LastUpdate 2025-09-20 14:16:07 + * LastUpdate 2025-09-20 22:30:57 * UpdateUser MingLiPro */ @@ -30,7 +30,7 @@ plugins { `java-library` `maven-publish` kotlin("jvm") version "2.2.20" - id("org.jetbrains.dokka") version "2.0.0" + id("org.jetbrains.dokka") version "2.1.0-Beta" } val GROUPSID = project.properties["GROUPSID"] as String val VERSIONS = project.properties["VERSIONS"] as String @@ -77,7 +77,9 @@ dependencies { compileOnly("com.google.code.gson:gson:2.13.1") compileOnly("org.mybatis:mybatis:3.5.19") compileOnly("com.alibaba.fastjson2:fastjson2:2.0.58") + compileOnly("com.baomidou:mybatis-plus-core:3.0.1") + compileOnly("net.java.dev.jna:jna:5.17.0") } diff --git a/gradle.properties b/gradle.properties index 18a795f..779033d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,13 +16,13 @@ # ProjectName mingli-utils # ModuleName mingli-utils # CurrentFile gradle.properties -# LastUpdate 2025-09-20 14:22:07 +# LastUpdate 2025-09-20 16:03:35 # UpdateUser MingLiPro # JDKVERSIONS=1.8 GROUPSID=com.mingliqiye.utils ARTIFACTID=mingli-utils -VERSIONS=4.1.7 +VERSIONS=4.1.8 signing.keyId=B22AA93B signing.password= signing.secretKeyRingFile=secret.gpg diff --git a/src/main/java/com/mingliqiye/utils/stream/SuperStream.java b/src/main/java/com/mingliqiye/utils/stream/SuperStream.java index d268101..1d71c41 100644 --- a/src/main/java/com/mingliqiye/utils/stream/SuperStream.java +++ b/src/main/java/com/mingliqiye/utils/stream/SuperStream.java @@ -16,14 +16,13 @@ * ProjectName mingli-utils * ModuleName mingli-utils.main * CurrentFile SuperStream.java - * LastUpdate 2025-09-20 13:24:35 + * LastUpdate 2025-09-21 14:22:13 * UpdateUser MingLiPro */ package com.mingliqiye.utils.stream; import com.mingliqiye.utils.collection.Collections; -import com.mingliqiye.utils.foreach.ForEach; import com.mingliqiye.utils.functions.P1Function; import com.mingliqiye.utils.functions.P2Function; import org.jetbrains.annotations.NotNull; @@ -887,16 +886,13 @@ public class SuperStream implements Stream { */ @NotNull @SuppressWarnings("unchecked") - public T[] toArray() { - List list = toAList(); - if (list.isEmpty()) { - throw new StreamEmptyException("Stream is empty"); - } - T[] items = (T[]) Array.newInstance(list.get(0).getClass(), list.size()); - ForEach.forEach(list, (v, i) -> { - items[i] = v; - }); - return items; + public T[] toArray(Class clazz) { + return stream.toArray(i -> (T[]) Array.newInstance(clazz, i)); + } + + @NotNull + public Object[] toArray() { + return stream.toArray(); } /** diff --git a/src/main/kotlin/com/mingliqiye/utils/collection/Collection.kt b/src/main/kotlin/com/mingliqiye/utils/collection/Collection.kt index b0f0b0f..9025922 100644 --- a/src/main/kotlin/com/mingliqiye/utils/collection/Collection.kt +++ b/src/main/kotlin/com/mingliqiye/utils/collection/Collection.kt @@ -16,7 +16,7 @@ * ProjectName mingli-utils * ModuleName mingli-utils.main * CurrentFile Collection.kt - * LastUpdate 2025-09-20 14:03:46 + * LastUpdate 2025-09-21 14:36:57 * UpdateUser MingLiPro */ @@ -980,7 +980,14 @@ fun toArray(list: List): CharArray { * @param list 输入的 List * @return 转换后的数组 */ -fun toArray(list: List): Array { +inline fun toArray(list: List): Array { + if (list.isEmpty()) + return arrayOf() return SuperStream.of(list) - .toArray() + .toArray(T::class.java) +} + +fun toArray(list: List, clazz: Class): Array { + return SuperStream.of(list) + .toArray(clazz) } diff --git a/src/main/kotlin/com/mingliqiye/utils/io/IO.kt b/src/main/kotlin/com/mingliqiye/utils/io/IO.kt index c5fe70f..e288ee3 100644 --- a/src/main/kotlin/com/mingliqiye/utils/io/IO.kt +++ b/src/main/kotlin/com/mingliqiye/utils/io/IO.kt @@ -16,7 +16,7 @@ * ProjectName mingli-utils * ModuleName mingli-utils.main * CurrentFile IO.kt - * LastUpdate 2025-09-20 11:46:19 + * LastUpdate 2025-09-20 16:03:14 * UpdateUser MingLiPro */ @@ -33,22 +33,22 @@ class IO { @JvmStatic fun print(vararg args: Any?) { - print(" ", *args) + printA(" ", *args) } @JvmStatic fun println(vararg args: Any?) { - println(" ", *args) + printlnA(" ", *args) } @JvmStatic - fun println(sp: String = " ", vararg args: Any?) { - print(" ", *args) + fun printlnA(sp: String, vararg args: Any?) { + printA(" ", *args) kotlin.io.println() } @JvmStatic - fun print(sp: String = " ", vararg args: Any?) { + fun printA(sp: String = "", vararg args: Any?) { if (args.isEmpty()) { kotlin.io.println() }