Java教程

2021-07-03 Java语言高级(二)5

本文主要是介绍2021-07-03 Java语言高级(二)5,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

一、函数式接口

二、函数式编程

三、常用的函数式接口


一、函数式接口

函数式接口:有且仅有一个抽象方法的接口,接口中可以包含(默认,静态,私有)。

@FunctionalInterface注解                                                                                                                            作用:可以检测接口是否是一个函数式接口。

二、函数式编程

使用Lambda优化日志

使用Lambda作为参数和返回值

三、常用的函数式接口

java.util.function.Supplier<T>接口仅包含一个无参的方法:                                                                  T get()。用来获取一个泛型参数指定类型的对象数据。                                                          Supplier<T>接口被称之为生产型接口。

java.util.function.Consumer<T>接口                                                                                                    Consumer接口中包含抽象方法void  accept(T t),意为消费一个指定泛型的数据。

Consumer接口的默认方法andThen                                                                                                              作用:需要两个Consumer接口,可以把两个Consumer接口组合到一起,再对数据进行消费。      例:

//Consumer<String> con1
//Consumer<String> con2
String s = "hello";
con1.accept;
con2.accept;
//连接两个Consumer接口 再进行消费
con1.andThen(con2).accept(s);//写前面先消费

java.util.function.Predicate<T>接口                                                                                                          作用:对某个数据类型的数据进行判断,结果返回一个boolean值

Predicate接口中包含一个抽象方法:                                                                                                                     boolean test(T t):用来对指定数据类型数据进行判断的方法。

Predicate接口中有一个方法and(or),表示并且的关系,也可以用于连接两个判断条件。

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

Predicate接口中有一个方法negate,表示取反的意思。

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

java.util.function.Function<T, R>接口:用来根据一个类型的数据得到另一个类型的数据。            前者为前置条件,后者为后置条件。                                                                                                            Function接口中最主要的抽象方法为:R apply(T t),根据T的参数获取类型R的结果。                      例:将String类型转换为Integer类型。

Function接口中的默认方法andThen:用来进行组合操作

这篇关于2021-07-03 Java语言高级(二)5的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!