Java“ lambda转换的目标类型必须是接口”

我正在尝试在Java中使用lambda和流,但我对此很陌生。当我尝试创建lambda表达式时,我在IntelliJ中收到了此错误“

lambda转换的目标类型必须是接口”

List<Callable<SomeClass>> callList = prgll.stream()

.map(p->(()->{return p.funct();} )) <--- Here I get error

.collect(Collectors.toList());

难道我做错了什么?

回答:

我怀疑这只是Java的类型推断不够聪明。尝试

 .map(p -> (Callable<SomeClass>) () -> p.funct())

以上是 Java“ lambda转换的目标类型必须是接口” 的全部内容, 来源链接: utcz.com/qa/421666.html

回到顶部