zl程序教程

您现在的位置是:首页 >  后端

当前栏目

java函数式编程的形式

JAVA编程 函数 形式
2023-09-11 14:18:43 时间

java中没有真正的函数变量;

 

一、所有的函数(拉姆达)表达式,都被解释为functional interface

@FunctionalInterface

interface GreetingService 

{

    void sayMessage(String message);

二、通过返回容器类型实现串联;

prices.stream()  

 

.filter(price -> price.compareTo(BigDecimal.valueOf(20)) > 0)  

 

.map(price -> price.multiply(BigDecimal.valueOf(0.9)))  

 

.reduce(BigDecimal.ZERO, BigDecimal::add);  

 

三、函数式接口

函数式接口可以对现有的函数友好地支持 lambda。

JDK 1.8 之前已有的函数式接口:

  • java.lang.Runnable
  • java.util.concurrent.Callable
  • java.security.PrivilegedAction
  • java.util.Comparator
  • java.io.FileFilter
  • java.nio.file.PathMatcher
  • java.lang.reflect.InvocationHandler
  • java.beans.PropertyChangeListener
  • java.awt.event.ActionListener
  • javax.swing.event.ChangeListener

JDK 1.8 新增加的函数接口:

  • java.util.function

 

参考文献

https://www.runoob.com/java/java8-functional-interfaces.html