例如,为什么我可以写行
Character[] c = Arrays.sort(list.toArray(new Character[list.size()]))
Run Code Online (Sandbox Code Playgroud)
但是在我阅读有关方法引用的文档时,它们会告诉我使用它::吗?它不和.运营商一样吗?
我不知道上面的代码是否编译,因为我在我的手机上输入了这个.把它看作一个松散的例子.
Sin*_*int 11
双冒号运算符是Java8中提供的新运算符.语法糖告诉编译器基于将调用该方法的上下文生成lambda.这使得一些lambda表达式更容易一些.在Java8之前,此运算符不存在,不,它与点(.)运算符不同.例如:
Math.max(4, 6) // Calls Math.max with the arguments 4 and 6
Math::max // A reference to the max method in the java.lang.Math class
Run Code Online (Sandbox Code Playgroud)
稍微阅读一些内容(尽管这些内容全部都是Beta版,尚未正式发布)请尝试http://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html
| 归档时间: |
|
| 查看次数: |
1661 次 |
| 最近记录: |