• Starter Set of Functional Interfaces


    Java Development Kit 8 has a number of functional interfaces. Here we review the starter set—the interfaces we frequently encounter and need to first get familiar with. All the interfaces we see here are part of the java.util.function package.

    Consumer<T>

    Description

    Represents an operation that will accept an input and returns nothing. For this to be useful, it will have to cause side effects.

    Abstract method

    accept()

    Default method(s)

    andThen()

    As a parameter to the forEach() method

    Primitive specializations

    IntConsumer, LongConsumer, DoubleConsumer, …

    Supplier<T>

    Description

    A factory that’s expected to return either a new instance or a precreated instance

    Abstract method

    get()

    Default method(s)

    To create lazy infinite Streams and as the parameter to the Optional class’s orElseGet() method

    Primitive specializations

    IntSupplier, LongSupplier, DoubleSupplier, …

    Predicate<T>

    Description

    Useful for checking if an input argument satisfies some condition

    Abstract method

    test()

    Default method(s)

    and(), negate(), and or()

    As a parameter to Stream’s methods, like filter() and anyMatch()

    Primitive specializations

    IntPredicate, LongPredicate, DoublePredicate, …

    Function<T, R>

    Description

    A transformational interface that represents an operation intended to take in an argument and return an appropriate result

    Abstract method

    apply()

    Default method(s)

    andThen(), compose()

    As a parameter to Stream’s map() method

    Primitive specializations

    IntFunction, LongFunction, DoubleFunction, IntToDoubleFunction, DoubleToIntFunction, …

  • 相关阅读:
    今天VSS 了一把
    中文字母检索
    当心! 您也可能犯得js错 eval()不等于eval("")!
    腾讯微博邀请码2010年6月9日11:14:28
    存储过程原理
    腾讯微博邀请码2010年5月25日16:44:24
    《QQ我的好友想到的信息架构》
    8小时之外(Beyond the 8 Hours)
    超搞笑漫画比喻!如果浏览器是出行工具
    Nginx环境下配置PHP使用的SSL认证(https)
  • 原文地址:https://www.cnblogs.com/coderland/p/5902763.html
Copyright © 2020-2023  润新知