对于collect(java.util.stream.Collector<java.lang.Object,capture#1, 共 ?,java.util.List<java.lang.Object>>), 找不到合适的方法问题解决

avatar 2022年03月30日10:46:47 6 4665 views
博主分享免费Java教学视频,B站账号:Java刘哥

刚才编译 magic-api 开源项目发现了报错,对于collect(java.util.stream.Collector<java.lang.Object,capture#1, 共 ?,java.util.List<java.lang.Object>>), 找不到合适的方法

具体吧报错的代码如下:

List<BaseDefinition> validates = validateParameters.stream()
.filter(it -> VALIDATE_TYPE_EXPRESSION.equals(it.getValidateType()) && StringUtils.isNotBlank(it.getExpression()))
.collect(Collectors.toList());

validateParameters 类型如下:

List<? extends BaseDefinition> validateParameters

 

解决办法

上面代码改成

Supplier<List<BaseDefinition>> supplier = () -> new ArrayList<>();
List<BaseDefinition> validates = validateParameters.stream()
		.filter(it -> VALIDATE_TYPE_EXPRESSION.equals(it.getValidateType()) && StringUtils.isNotBlank(it.getExpression()))
		.collect(Collectors.toCollection(supplier));

 

 

  • 微信
  • 交流学习,有偿服务
  • weinxin
  • 博客/Java交流群
  • 资源分享,问题解决,技术交流。群号:590480292
  • weinxin

发表评论

avatar 登录者:匿名
匿名评论,评论回复后会有邮件通知

  

已通过评论:0   待审核评论数:0