相关疑难解决方法(0)

实例方法参考和Lambda参数

我无法理解语法的方法参考,那里有两个参数ab和参考是的方法ab.

例如我明白了

Arrays.sort(personArray, comparators::compareByName);
Run Code Online (Sandbox Code Playgroud)

相当于

Arrays.sort(personArray, (o1, o2) -> comparators.compareByName(o1, o2));
Run Code Online (Sandbox Code Playgroud)

因为在这种情况下,lambda参数与方法调用参数匹配(o1, o2).

这个lambda的情况如何

stream.sorted((o1, o2) -> o1.compareToIgnoreCase(o2));
Run Code Online (Sandbox Code Playgroud)

我的IDE告诉我这相当于:

stream.sorted(String::compareToIgnoreCase);
Run Code Online (Sandbox Code Playgroud)

我没有找到替换该语法的规则:a.method(b)使用方法引用.

例如,如果lambda有三个或更多参数怎么办?这合法吗?第一个参数是否成为方法目标,剩下的参数是否成为参数?

java lambda closures java-8 method-reference

7
推荐指数
1
解决办法
550
查看次数

标签 统计

closures ×1

java ×1

java-8 ×1

lambda ×1

method-reference ×1