private List<ChannelTypeTenantVO> filterUseType(List<ChannelTypeTenantVO> channelTypes, List<String> filterList){ if(CollectionUtils.isEmpty(channelTypes) || CollectionUtils.isEmpty(filterList)) { return channelTypes; } return channelTypes.stream().filter(v -> judgeUseCondition(filterList, v)).collect(Collectors.toList()); } private List<ChannelTypeVO> filterUseType(List<ChannelTypeVO> channelTypes, List<String> filterList){ if(CollectionUtils.isEmpty(channelTypes) || CollectionUtils.isEmpty(filterList)) { return channelTypes; } return channelTypes.stream().filter(v -> judgeUseCondition(filterList, v)).collect(Collectors.toList()); }
时间: 2024-02-18 20:01:05 浏览: 88
java中List集合及其遍历详解
这段代码是两个方法,它们的方法名和参数列表相同,但是它们所处理的数据类型不同。第一个方法是 `filterUseType`,它接受一个 `List<ChannelTypeTenantVO>` 类型的参数 `channelTypes` 和一个 `List<String>` 类型的参数 `filterList`,返回一个经过过滤后的 `List<ChannelTypeTenantVO>` 类型的列表。第二个方法也是 `filterUseType`,它接受一个 `List<ChannelTypeVO>` 类型的参数 `channelTypes` 和一个 `List<String>` 类型的参数 `filterList`,返回一个经过过滤后的 `List<ChannelTypeVO>` 类型的列表。这两个方法的主要区别在于它们所处理的数据类型不同,但是它们的逻辑实现都是基本相同的。如果你想将这两个方法合并为一个方法,可以将它们的参数类型改为泛型类型,然后使用泛型来处理不同类型的数据。例如:
```
private <T> List<T> filterUseType(List<T> channelTypes, List<String> filterList) {
if(CollectionUtils.isEmpty(channelTypes) || CollectionUtils.isEmpty(filterList)) {
return channelTypes;
}
return channelTypes.stream().filter(v -> judgeUseCondition(filterList, v)).collect(Collectors.toList());
}
```
这样,你就可以在调用方法时传入不同类型的数据,而不需要重复编写相似的代码。
阅读全文