Java8新特性 -- 四大内置的核心函数式接口
2017-11-23 22:39
615 查看
可以把这些函数式接口作为方法的参数。 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); } }
相关文章推荐
- Java8新特性_四大内置核心函数式接口
- java 8 内置四大核心函数式接口
- java8 内置的四大核心函数式接口
- Java8中内置的四大核心函数式接口
- Java8新特性(内置的核心函数式接口)
- Rhyme/Java 8 四大核心函数式接口
- 四大内置核心函数式接口
- java8新特性回顾(一)---函数式接口和lamda表达式
- JAVA8新特性[第二季]-函数式接口
- Java8内置4大函数式接口详解
- Java8 新特性----函数式接口,以及和Lambda表达式的关系
- Java8 新特性 函数式接口
- java8新特性之函数式接口、lambda表达式、接口的默认方法、方法和构造函数的引用
- Java8新特性之四函数式接口
- java8新特性lambda表达式, 函数式接口以及Steam流和新的日期时间例子代码
- Java 8新特性-5 内建函数式接口
- Java8新特性函数式接口
- java 8 新特性(1.函数式接口 - Functional Interface)
- Java8新特性之 函数式接口FunctionalInterface详解
- Java8 新特性之一---------Lambda表达式和函数式接口