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, …

  • 相关阅读:
    tinyxml2使用
    使用libcurl作为Http client
    编译Thrift支持golang
    使用vue初体验之app实现后 小总结
    手机端屏幕自适应(三) 淘宝网适配方案
    手机端屏幕自适应(二)
    手机端的屏幕自适应(一)
    vue directive具体的使用方法
    vue生命周期之我见
    vue-router api学习
  • 原文地址:https://www.cnblogs.com/coderland/p/5902763.html
Copyright © 2011-2022 走看看