Compare commits

...

2 Commits

Author SHA1 Message Date
77c53b422e rename firstNotNull to defaultIfNull 2025-12-22 10:47:12 +08:00
50c9a416a6 add safeIterable 2025-12-12 15:36:08 +08:00

View File

@ -3,7 +3,9 @@ package com.imyeyu.java;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Collection;
import java.util.Collections;
import java.util.Map;
import java.util.Objects;
/**
*
@ -68,24 +70,15 @@ public interface TimiJava {
return !isEmpty(object);
}
@SafeVarargs
static <T> T firstNotNull(T... objects) {
for (int i = 0; i < objects.length; i++) {
if (objects[i] != null) {
return objects[i];
}
}
return null;
static <T> T defaultIfNull(T obj, T defaultObj) {
return Objects.requireNonNullElse(obj, defaultObj);
}
@SafeVarargs
static <T> T firstNotEmpty(T... objects) {
for (int i = 0; i < objects.length; i++) {
if (TimiJava.isNotEmpty(objects[i])) {
return objects[i];
static <T> T defaultIfEmpty(T obj, T defaultObj) {
if (isEmpty(obj)) {
return defaultObj;
}
}
return null;
return obj;
}
static String toString(Exception e) {
@ -94,4 +87,8 @@ public interface TimiJava {
e.printStackTrace(pw);
return sw.toString();
}
static <T> Iterable<T> safeIterable(Iterable<T> iterable) {
return defaultIfNull(iterable, Collections::emptyIterator);
}
}