aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/utils/CollectionUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/shedaniel/rei/utils/CollectionUtils.java')
-rw-r--r--src/main/java/me/shedaniel/rei/utils/CollectionUtils.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main/java/me/shedaniel/rei/utils/CollectionUtils.java b/src/main/java/me/shedaniel/rei/utils/CollectionUtils.java
index 95d730f64..d364708de 100644
--- a/src/main/java/me/shedaniel/rei/utils/CollectionUtils.java
+++ b/src/main/java/me/shedaniel/rei/utils/CollectionUtils.java
@@ -32,6 +32,15 @@ public class CollectionUtils {
return null;
}
+ public static <T,R> List<R> castAndMap(List<T> list, Class<R> castClass) {
+ List<R> l = new ArrayList<>();
+ for (T t : list) {
+ if (castClass.isAssignableFrom(t.getClass()))
+ l.add((R) t);
+ }
+ return l;
+ }
+
public static <T> T findFirstOrNull(List<T> list, Predicate<T> predicate) {
for (T t : list) {
if (predicate.test(t))