zoukankan      html  css  js  c++  java
  • 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, …

  • 相关阅读:
    大数据的前景?
    PriorityBlockingQueue深度解析(好文)
    深入CAS原理
    common-lang3工具类-使用手册
    gitlab搭建
    RestTemplate转码bug
    论tigergraph边的方向性
    关于java的wait方法的深入分析
    openjdk的源码下载方式
    一个奇怪的urlencode转码问题
  • 原文地址:https://www.cnblogs.com/coderland/p/5902763.html
Copyright © 2011-2022 走看看