为什么Java Lambda Type Inference仅处理具有唯一参数的方法?

时间:2017-10-25 12:34:04

标签: lambda java-8 inference functional-interface

如果编译器只能用一个参数计算出方法的类型,那么为什么它不能对具有两个参数或更多的方法执行相同的操作来执行参数的顺序?

这是一个例子:

enter image description here

另一方面,为什么编译不能确定str是一个String(唯一方法中的第一个参数,而str2也是一个String(第二个参数< / strong>在独特的方法中)?

1 个答案:

答案 0 :(得分:4)

您似乎没有正确定义:

(str, str2) -> str.length()

您还应该收到第二个示例的编译时错误。