Java有::
操作符吗?请不要关闭这个问题,我确实搜索了文档,我肯定它没有,但我想完全确定。
也就是说,在Java中可以有类似于MyClass::x
的东西,或者类似于的任何东西。
发布于 2013-12-13 01:41:06
直到并包括Java 7:不!
Java 8:是的!
就这么简单。
发布于 2013-12-13 01:46:00
在Java8中,引入了操作符::
作为引用方法的一种方式。基本上,它将该方法转换为一个一流的对象,您可以将其作为参数传递给其他方法,存储在变量中,然后从方法返回。
这是Java 8引入的函数编程范式的总体方向的一部分。FP的基本特性是高阶函数--这些函数接受其他函数作为参数或返回函数。这个范例允许人们消除Java源代码中现在普遍存在的许多样板。
发布于 2013-12-13 01:40:35
在Java 8中,它允许引用类的静态成员,类似于PHP。
public class YourClass {
public static int comparer(String one, String two){
return one.length() - two.length();
}
public static void main(String[] args) {
Arrays.sort(args, YourClass::comparer);
//args are now sorted
}
}
正如注释中所述,这只是Java 8(及以后的版本)。JDK 7及更低版本没有此功能。
https://stackoverflow.com/questions/20563124
复制