在java7和java8中使用“函数”和“方法”会不会引起混淆?
我知道java 8引入了一些概念,比如lambda演算,它允许使用少量的函数范例。
函数,如在lambda微积分,函数式编程。
发布于 2015-11-05 09:44:18
在非正式谈话中,你也许可以通过互换功能和方法来逃避,但如果你想准确地记住这一点:
void返回类型不是实际值)。一般来说,你现在知道函数和方法是有区别的,所以记住它,从现在开始使用适当的术语。
发布于 2015-11-05 10:12:34
在谈到Java-8时,您可以使用"function“一词来指函数接口(使用单个抽象方法的接口)、实现此类接口的类或函数接口类型的表达式(包括lambda表达式或方法引用)。但是,不应将方法作为函数调用。这一点比以前的Java版本更加重要,就像在与Java-7相关的讨论中看到“函数”一词一样,您可以假设“方法”是指。但是在Java-8中,人们可能会认为你谈论的是功能接口,而不是方法。
所以可以这么说:
Stream.map方法接受函数作为参数。
或
Collector接口集成了供应商、累加器、组合器和裁剪器四种功能。
或
我将
Objects::nonNull函数传递给Stream.filter方法。
但以下内容听起来令人困惑:
当我使用
Math.sqrt函数时,我会得到一个奇怪的异常。
发布于 2015-11-05 09:41:03
函数与方法不同,不管java版本如何。尽管使用java 8,这些术语现在更有意义了。使用早期版本的java,您可以将函数看作静态方法,因为这些方法不绑定到类数据。
https://stackoverflow.com/questions/33540969
复制相似问题