【发布时间】:2019-05-27 20:57:25
【问题描述】:
我有一个按类型过滤的方法,它作为输入Collection<?> collection 和Class<T> tClass。我想用Stream 替换FluentIterable。
public static <T> List<T> filterByType(final Collection<?> filerCollection, final Class<T> classType)
{
return FluentIterable.from(filerCollection).filter(classType).toList();
}
我尝试了这个解决方案:
public static <T> List<T> typeFilter(final Collection<?> filter, final Class<T> classType) {
return (List<T>) filter.stream()
.filter(Objects::nonNull)
.map(Object.class::cast)
.collect(Collectors.toList());
}
如何在不强制返回 Stream 的情况下做到这一点?
【问题讨论】:
标签: java generics java-8 java-stream guava