strong 和强调行出现编译错误: 原因:不存在类型变量 L 的实例,因此 Collection 符合 List
CollectionRela.init(MaterialAidUnitDto::getAidUnitId, MaterialAidUnitDto::getAidName, new Function<List<Long>, List<MaterialAidUnitDto>>() {
@Override
public List<MaterialAidUnitDto> apply(List<Long> longs) {
return udcService.queryMaterialUnitByIds(longs);
}
});
final Function<List<Long>, List<MaterialAidUnitDto>> queryMaterialUnitByIds = udcService::queryMaterialUnitByIds;
CollectionRela.init(MaterialAidUnitDto::getAidUnitId, MaterialAidUnitDto::getAidName, queryMaterialUnitByIds);
***CollectionRela.init(MaterialAidUnitDto::getAidUnitId, MaterialAidUnitDto::getAidName, udcService::queryMaterialUnitByIds);***
这是方法定义:
public static <C extends Collection<T>, L, R, T> CollectionRela<C, L, R, T> init(Function<T, L> left, Function<T, R> right,
Function<? Extends Collection<L>, C> supplier) {
CollectionRela<C, L, R, T> collectionRela = new CollectionRela<C, L, R, T>(left, right, supplier);
return collectionRela;
}
为什么会出现编译错误?