Naz*_*ila 3 java generics java-8
我有这个泛型列表List<? super Domain>,包含Domain:Material和BoM的实现,现在我想分别得到每个实体.
domainList.stream().filter(a -> a.getClass().equals(BoM.class))
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
用这行我List<? super Domain>只有包含BoM对象.我的问题是如何将此列表转换为List<BoM>?
好吧,我会这样做:
List<BoM> boms = domainList.stream()
.filter(BoM.class::isInstance)
.map(BoM.class::cast)
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)