diff options
Diffstat (limited to 'src/main/java/org/zwobble/couscous/util')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/util/ExtraLists.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/util/ExtraLists.java b/src/main/java/org/zwobble/couscous/util/ExtraLists.java index 1951868..de28f21 100644 --- a/src/main/java/org/zwobble/couscous/util/ExtraLists.java +++ b/src/main/java/org/zwobble/couscous/util/ExtraLists.java @@ -20,6 +20,13 @@ public class ExtraLists { } @SuppressWarnings("unchecked") + public static <T, R extends T> List<R> ofType(List<T> list, Class<R> clazz) { + return (List<R>)list.stream() + .filter(clazz::isInstance) + .collect(Collectors.toList()); + } + + @SuppressWarnings("unchecked") public static <T, R, E extends Exception> List<R> flatMap( Stream<T> stream, CheckedFunction<T, Iterable<R>, E> function) throws E { |
