zoukankan      html  css  js  c++  java
  • Java8新特性 -- 四大内置的核心函数式接口


    可以把这些函数式接口作为方法的参数。

    1.0 核心内置函数式接口一: 消费型接口
    @FunctionalInterface
    public interface Consumer<T> {

    void accept(T t);

    default Consumer<T> andThen(Consumer<? super T> after) {
    Objects.requireNonNull(after);
    return (T t) -> { accept(t); after.accept(t); };
    }
    }

    2.0 核心内置函数式接口二: 供给型接口
    @FunctionalInterface
    public interface Supplier<T> {
        T get();
    }

    3.0 核心内置函数式接口三: 函数型接口
    @FunctionalInterface
    public interface Function<T, R> {

    R apply(T t);

    default <V> Function<V, R> compose(Function<? super V, ? extends T> before) {
    Objects.requireNonNull(before);
    return (V v) -> apply(before.apply(v));
    }

    default <V> Function<T, V> andThen(Function<? super R, ? extends V> after) {
    Objects.requireNonNull(after);
    return (T t) -> after.apply(apply(t));
    }

    static <T> Function<T, T> identity() {
    return t -> t;
    }
    }

    4.0 核心内置函数式接口四: 断言型接口
    @FunctionalInterface
    public interface Predicate<T> {

    boolean test(T t);

    default Predicate<T> and(Predicate<? super T> other) {
    Objects.requireNonNull(other);
    return (t) -> test(t) && other.test(t);
    }

    default Predicate<T> negate() {
    return (t) -> !test(t);
    }

    default Predicate<T> or(Predicate<? super T> other) {
    Objects.requireNonNull(other);
    return (t) -> test(t) || other.test(t);
    }

    static <T> Predicate<T> isEqual(Object targetRef) {
    return (null == targetRef)
    ? Objects::isNull
    : object -> targetRef.equals(object);
    }
    }

  • 相关阅读:
    jmeter链接数据库
    jmeter断言
    jmeter关联
    jmeter接口测试-获取信息
    jmeter参数化以及压测
    jmeter接口测试-文件上传
    jmeter接口测试-获取所有信息
    jmeter接口测试:添加cookie以及身份验证
    jmeter接口测试-添加信息,入参是json
    jmeter接口测试-登录
  • 原文地址:https://www.cnblogs.com/zheting/p/7887396.html
Copyright © 2011-2022 走看看