转载自:Java 8 函数式接口
函数式接口(Functional Interface)就是一个具有一个方法的普通接口。 函数式接口可以被隐式转换为lambda表达式。 函数式接口可以现有的函数友好地支持 lambda。 JDK 1.8之前已有的函数式接口:
java.lang.Runnablejava.util.concurrent.Callablejava.security.PrivilegedActionjava.util.Comparatorjava.io.FileFilterjava.nio.file.PathMatcherjava.lang.reflect.InvocationHandlerjava.beans.PropertyChangeListenerjava.awt.event.ActionListenerjavax.swing.event.ChangeListenerJDK 1.8 新增加的函数接口:
java.util.function 序号接口描述1BiConsumer代表了一个接受两个输入参数的操作,并且不返回任何结果2BiFunction代表了一个接受两个输入参数的方法,并且返回一个结果3BinaryOperator代表了一个作用于于两个同类型操作符的操作,并且返回了操作符同类型的结果4BiPredicate代表了一个两个参数的boolean值方法5BooleanSupplier代表了boolean值结果的提供方6Consumer代表了接受一个输入参数并且无返回的操作7DoubleBinaryOperator代表了作用于两个double值操作符的操作,并且返回了一个double值的结果。8DoubleConsumer代表一个接受double值参数的操作,并且不返回结果。9DoubleFunction代表接受一个double值参数的方法,并且返回结果10DoublePredicate代表一个拥有double值参数的boolean值方法11DoubleSupplier代表一个double值结构的提供方12DoubleToIntFunction接受一个double类型输入,返回一个int类型结果。13DoubleToLongFunction接受一个double类型输入,返回一个long类型结果14DoubleUnaryOperator接受一个参数同为类型double,返回值类型也为double 。15Function接受一个输入参数,返回一个结果。16IntBinaryOperator接受两个参数同为类型int,返回值类型也为int 。17IntConsumer接受一个int类型的输入参数,无返回值 。18IntFunction接受一个int类型输入参数,返回一个结果 。19IntPredicate接受一个int输入参数,返回一个布尔值的结果。20IntSupplier无参数,返回一个int类型结果。21IntToDoubleFunction接受一个int类型输入,返回一个double类型结果 。22IntToLongFunction接受一个int类型输入,返回一个long类型结果。23IntUnaryOperator接受一个参数同为类型int,返回值类型也为int 。24LongBinaryOperator接受两个参数同为类型long,返回值类型也为long。25LongConsumer接受一个long类型的输入参数,无返回值。26LongFunction接受一个long类型输入参数,返回一个结果。27LongPredicateR接受一个long输入参数,返回一个布尔值类型结果。28LongSupplier无参数,返回一个结果long类型的值。29LongToDoubleFunction接受一个long类型输入,返回一个double类型结果。30LongToIntFunction接受一个long类型输入,返回一个int类型结果。31LongUnaryOperator接受一个参数同为类型long,返回值类型也为long。32ObjDoubleConsumer接受一个object类型和一个double类型的输入参数,无返回值。33ObjIntConsumer接受一个object类型和一个int类型的输入参数,无返回值。34ObjLongConsumer接受一个object类型和一个long类型的输入参数,无返回值。35Predicate接受一个输入参数,返回一个布尔值结果。36Supplier无参数,返回一个结果。37ToDoubleBiFunction接受两个输入参数,返回一个double类型结果38ToDoubleFunction接受一个输入参数,返回一个double类型结果39ToIntBiFunction接受两个输入参数,返回一个int类型结果。40ToIntFunction接受一个输入参数,返回一个int类型结果。41ToLongBiFunction接受两个输入参数,返回一个long类型结果。42ToLongFunction接受一个输入参数,返回一个long类型结果。43UnaryOperator接受一个参数为类型T,返回值类型也为T。