|
@@ -200,6 +200,18 @@ public final class StringUtils {
|
|
|
return isEmpty(first) ? second : first;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 比较两个字符串中第一个是否为空,如果是则返回第二个字符串,否则返回第一个字符串
|
|
|
+ *
|
|
|
+ * @param first 第一个字符串
|
|
|
+ * @param second 第二个字符串提供者
|
|
|
+ * @param <T> 字符串类型
|
|
|
+ * @return 非空字符串
|
|
|
+ */
|
|
|
+ public static <T> T ifEmpty(T first, @NonNull Supplier<T> second) {
|
|
|
+ return isEmpty(first) ? second.get() : first;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 如果原始字符串不为空,则对原始字符串做对象适配
|
|
|
*
|
|
@@ -216,10 +228,11 @@ public final class StringUtils {
|
|
|
/**
|
|
|
* 如果原始字符串不为空,则对原始字符串做对象适配,如果目标适配对象为空则返回默认值
|
|
|
*
|
|
|
- * @param original 原始字符串
|
|
|
- * @param adapter 对象适配函数
|
|
|
- * @param <T> 原始字符串类型
|
|
|
- * @param <R> 适配目标对象类型
|
|
|
+ * @param original 原始字符串
|
|
|
+ * @param adapter 对象适配函数
|
|
|
+ * @param defaultValue 默认值
|
|
|
+ * @param <T> 原始字符串类型
|
|
|
+ * @param <R> 适配目标对象类型
|
|
|
* @return 适配目标对象实例
|
|
|
*/
|
|
|
public static <T, R> R ifEmpty(T original, @NonNull Function<T, R> adapter, R defaultValue) {
|
|
@@ -230,10 +243,11 @@ public final class StringUtils {
|
|
|
/**
|
|
|
* 如果原始字符串不为空,则对原始字符串做对象适配,如果目标适配对象为空则返回默认值
|
|
|
*
|
|
|
- * @param original 原始字符串
|
|
|
- * @param adapter 对象适配函数
|
|
|
- * @param <T> 原始字符串类型
|
|
|
- * @param <R> 适配目标对象类型
|
|
|
+ * @param original 原始字符串
|
|
|
+ * @param adapter 对象适配函数
|
|
|
+ * @param defaulter 默认值提供者
|
|
|
+ * @param <T> 原始字符串类型
|
|
|
+ * @param <R> 适配目标对象类型
|
|
|
* @return 适配目标对象实例
|
|
|
*/
|
|
|
public static <T, R> R ifEmpty(T original, @NonNull Function<T, R> adapter, @NonNull Supplier<R> defaulter) {
|