为什么 Java Lambda 类型推断只处理具有唯一参数的方法?

Why Java Lambda Type Inference deals only with method with unique parameter ?

如果编译器可以判断出只有一个参数的方法的类型,为什么它不能对有两个或更多参数的方法做同样的事情,并考虑参数的顺序?

这里有一个例子:

换个说法,为什么编译时查不出str是String (unique方法的第一个参数,str2也是String (unique方法中的第二个参数) ?

看来你没有正确定义:

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

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