zoukankan      html  css  js  c++  java
  • java函数式编程的形式

    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

  • 相关阅读:
    mysql 注意事项 PreparedStatement 对比 statement
    Dbutils commons-dbutils-1.3
    C3P0 mysql 5.7
    servlet-应用mysql-1
    javabean 用integer 而不是int
    servlet-1
    servlet 路径 编码 问题
    mac tomcat 9.0
    case end 的用法
    自定义抛出异常
  • 原文地址:https://www.cnblogs.com/feng9exe/p/11843088.html
Copyright © 2011-2022 走看看