From 3c6c655ff263c144a6a39aa21de6b4d33dba5595 Mon Sep 17 00:00:00 2001 From: rozhur Date: Mon, 24 Jul 2023 02:09:31 +0500 Subject: [PATCH] Add nullable getters for arrays and collections --- common/src/main/java/org/zhdev/util/ArrayUtils.java | 5 +++-- common/src/main/java/org/zhdev/util/CollectionUtils.java | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/common/src/main/java/org/zhdev/util/ArrayUtils.java b/common/src/main/java/org/zhdev/util/ArrayUtils.java index 4feabea..09ed3d7 100644 --- a/common/src/main/java/org/zhdev/util/ArrayUtils.java +++ b/common/src/main/java/org/zhdev/util/ArrayUtils.java @@ -3,6 +3,7 @@ package org.zhdev.util; import java.util.Collection; import java.util.function.Function; import java.util.function.IntFunction; +import java.util.function.Supplier; public class ArrayUtils { public static T get(T[] array, int index) { @@ -14,9 +15,9 @@ public class ArrayUtils { return t == null ? fallback : t; } - public static T get(T[] array, int index, Function fallbackFunction) { + public static T get(T[] array, int index, Supplier fallbackFunction) { T t = get(array, index); - return t == null ? fallbackFunction.apply(array) : t; + return t == null ? fallbackFunction.get() : t; } public static R[] map(T[] array, IntFunction arrayConstructor, Function function) { diff --git a/common/src/main/java/org/zhdev/util/CollectionUtils.java b/common/src/main/java/org/zhdev/util/CollectionUtils.java index 2a05dac..35b28ac 100644 --- a/common/src/main/java/org/zhdev/util/CollectionUtils.java +++ b/common/src/main/java/org/zhdev/util/CollectionUtils.java @@ -4,6 +4,7 @@ import java.util.Collection; import java.util.List; import java.util.function.Function; import java.util.function.IntFunction; +import java.util.function.Supplier; public class CollectionUtils { public static T get(List list, int index) { @@ -15,9 +16,9 @@ public class CollectionUtils { return t == null ? fallback : t; } - public static T get(List list, int index, Function, T> fallbackFunction) { + public static T get(List list, int index, Supplier fallbackFunction) { T t = get(list, index); - return t == null ? fallbackFunction.apply(list) : t; + return t == null ? fallbackFunction.get() : t; } public static , T, R> C map(Collection collection, IntFunction collectionConstructor, Function function) {