我正在阅读有关 Java 8 特性的文章,这使我看到了 article我想知道构造函数引用的实际用途,我的意思是为什么不直接使用 new Obj
?
P.S,我试过谷歌搜索,但我找不到有意义的东西,如果有人有代码示例、链接或 tut,那就太好了
最佳答案
首先,你应该明白构造函数引用只是方法引用的一种特殊形式。关于方法引用的要点是它们不调用引用的方法,而是提供一种方法来定义一个函数,该函数将在被评估时调用该方法。
链接文章的示例可能看起来没那么有用,但这是简短的自包含示例代码的普遍问题。这与“hello world”程序相同。这并不比直接在控制台中输入文本“hello world”更有用,但无论如何也不是这样。它的目的是演示编程语言。
如assylias has shown ,有些用例涉及已经存在的功能 interface
s 使用 JFC API。
关于将与构造函数引用一起使用的自定义功能接口(interface)的有用性,您必须考虑使用的原因(功能)interface
一般来说:抽象。
由于 interface
的目的就是抽象底层操作,用例就是你不想无条件执行的地方new SomeType(…)
手术。
所以一个例子是众所周知的工厂模式,您可以在其中定义 interface
通过构造函数引用构造对象并实现工厂只是无限可能中的一种选择。
另一个重要的一点是各种通用方法,其中需要构造类型实例的可能性,由于类型删除而未知。它们可以通过作为参数传递的函数以及现有函数之一是否 interface
来实现。 s 适合或需要一个定制的只是取决于所需的参数数量和类型。
关于functional-programming - java 8中构造函数引用的用途是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29386441/