dev #12

Merged
minglipro merged 10 commits from dev into master 2025-09-21 15:41:49 +08:00
5 changed files with 30 additions and 25 deletions
Showing only changes of commit 683aeb2c7f - Show all commits

View File

@ -16,7 +16,7 @@
* ProjectName mingli-utils * ProjectName mingli-utils
* ModuleName mingli-utils * ModuleName mingli-utils
* CurrentFile build.gradle.kts * CurrentFile build.gradle.kts
* LastUpdate 2025-09-20 14:16:07 * LastUpdate 2025-09-20 22:30:57
* UpdateUser MingLiPro * UpdateUser MingLiPro
*/ */
@ -30,7 +30,7 @@ plugins {
`java-library` `java-library`
`maven-publish` `maven-publish`
kotlin("jvm") version "2.2.20" 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 GROUPSID = project.properties["GROUPSID"] as String
val VERSIONS = project.properties["VERSIONS"] as String val VERSIONS = project.properties["VERSIONS"] as String
@ -77,7 +77,9 @@ dependencies {
compileOnly("com.google.code.gson:gson:2.13.1") compileOnly("com.google.code.gson:gson:2.13.1")
compileOnly("org.mybatis:mybatis:3.5.19") compileOnly("org.mybatis:mybatis:3.5.19")
compileOnly("com.alibaba.fastjson2:fastjson2:2.0.58") compileOnly("com.alibaba.fastjson2:fastjson2:2.0.58")
compileOnly("com.baomidou:mybatis-plus-core:3.0.1") compileOnly("com.baomidou:mybatis-plus-core:3.0.1")
compileOnly("net.java.dev.jna:jna:5.17.0")
} }

View File

@ -16,13 +16,13 @@
# ProjectName mingli-utils # ProjectName mingli-utils
# ModuleName mingli-utils # ModuleName mingli-utils
# CurrentFile gradle.properties # CurrentFile gradle.properties
# LastUpdate 2025-09-20 14:22:07 # LastUpdate 2025-09-20 16:03:35
# UpdateUser MingLiPro # UpdateUser MingLiPro
# #
JDKVERSIONS=1.8 JDKVERSIONS=1.8
GROUPSID=com.mingliqiye.utils GROUPSID=com.mingliqiye.utils
ARTIFACTID=mingli-utils ARTIFACTID=mingli-utils
VERSIONS=4.1.7 VERSIONS=4.1.8
signing.keyId=B22AA93B signing.keyId=B22AA93B
signing.password= signing.password=
signing.secretKeyRingFile=secret.gpg signing.secretKeyRingFile=secret.gpg

View File

@ -16,14 +16,13 @@
* ProjectName mingli-utils * ProjectName mingli-utils
* ModuleName mingli-utils.main * ModuleName mingli-utils.main
* CurrentFile SuperStream.java * CurrentFile SuperStream.java
* LastUpdate 2025-09-20 13:24:35 * LastUpdate 2025-09-21 14:22:13
* UpdateUser MingLiPro * UpdateUser MingLiPro
*/ */
package com.mingliqiye.utils.stream; package com.mingliqiye.utils.stream;
import com.mingliqiye.utils.collection.Collections; import com.mingliqiye.utils.collection.Collections;
import com.mingliqiye.utils.foreach.ForEach;
import com.mingliqiye.utils.functions.P1Function; import com.mingliqiye.utils.functions.P1Function;
import com.mingliqiye.utils.functions.P2Function; import com.mingliqiye.utils.functions.P2Function;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -887,16 +886,13 @@ public class SuperStream<T> implements Stream<T> {
*/ */
@NotNull @NotNull
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public T[] toArray() { public T[] toArray(Class<T> clazz) {
List<T> list = toAList(); return stream.toArray(i -> (T[]) Array.newInstance(clazz, i));
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) -> { @NotNull
items[i] = v; public Object[] toArray() {
}); return stream.toArray();
return items;
} }
/** /**

View File

@ -16,7 +16,7 @@
* ProjectName mingli-utils * ProjectName mingli-utils
* ModuleName mingli-utils.main * ModuleName mingli-utils.main
* CurrentFile Collection.kt * CurrentFile Collection.kt
* LastUpdate 2025-09-20 14:03:46 * LastUpdate 2025-09-21 14:36:57
* UpdateUser MingLiPro * UpdateUser MingLiPro
*/ */
@ -980,7 +980,14 @@ fun toArray(list: List<Char>): CharArray {
* @param list 输入的 List * @param list 输入的 List
* @return 转换后的数组 * @return 转换后的数组
*/ */
fun <T> toArray(list: List<T>): Array<T> { inline fun <reified T> toArray(list: List<T>): Array<T> {
if (list.isEmpty())
return arrayOf<T>()
return SuperStream.of<T>(list) return SuperStream.of<T>(list)
.toArray() .toArray(T::class.java)
}
fun <T> toArray(list: List<T>, clazz: Class<T>): Array<T> {
return SuperStream.of<T>(list)
.toArray(clazz)
} }

View File

@ -16,7 +16,7 @@
* ProjectName mingli-utils * ProjectName mingli-utils
* ModuleName mingli-utils.main * ModuleName mingli-utils.main
* CurrentFile IO.kt * CurrentFile IO.kt
* LastUpdate 2025-09-20 11:46:19 * LastUpdate 2025-09-20 16:03:14
* UpdateUser MingLiPro * UpdateUser MingLiPro
*/ */
@ -33,22 +33,22 @@ class IO {
@JvmStatic @JvmStatic
fun print(vararg args: Any?) { fun print(vararg args: Any?) {
print(" ", *args) printA(" ", *args)
} }
@JvmStatic @JvmStatic
fun println(vararg args: Any?) { fun println(vararg args: Any?) {
println(" ", *args) printlnA(" ", *args)
} }
@JvmStatic @JvmStatic
fun println(sp: String = " ", vararg args: Any?) { fun printlnA(sp: String, vararg args: Any?) {
print(" ", *args) printA(" ", *args)
kotlin.io.println() kotlin.io.println()
} }
@JvmStatic @JvmStatic
fun print(sp: String = " ", vararg args: Any?) { fun printA(sp: String = "", vararg args: Any?) {
if (args.isEmpty()) { if (args.isEmpty()) {
kotlin.io.println() kotlin.io.println()
} }