Lin*_*ong 4 java lambda java-8
目前,我发现以下Java 8 lambda表达式没有区别:
指定的参数类型:
Arrays.sort(strArray, (String s1, String s2) -> s2.length() - s1.length());
Run Code Online (Sandbox Code Playgroud)
省略参数类型:
Arrays.sort(strArray, (s1, s2) -> s2.length() - s1.length());
Run Code Online (Sandbox Code Playgroud)
编辑:一般来说,有什么优点和缺点在Java 8 Lambda表达式指定的参数类型?什么时候需要指定?
我想到了几个可能的原因(但我确信还有更多):
没有区别.这取决于你的权衡.但坦率地说,你最好不要写这些; 相反,import static java.util.Comparator.comparingInt做Arrays.sort(strArray, comparingInt(String::length)).第一个版本不是更加类型安全; 第二个版本将推断完全相同的类型信息并完全执行它.
| 归档时间: |
|
| 查看次数: |
442 次 |
| 最近记录: |