Java Lambda
Posted junjie2019
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Lambda相关的知识,希望对你有一定的参考价值。
函数式接口 | 参数类型 | 返回类型 | 抽象方法 | 描述 | 其他方法 |
Runnable | 无 | void | run | 作为无参数和返回值的动作运行 | |
Supplier<T> | 无 | T | get | 提供一个T类型的值 | |
Consumer<T> | T | void | accept | 处理一个T类型的值 | andThen |
BiConsumer<T> | T,U | void | accpet | 处理T和U类型的值 | andThen |
Function<T,R> | T | R | apply | 有一个T类型参数的函数 | compose,andThen,identity |
BiFunction<T,U,R> | T,U | R | apply | 有T和U类型参数的函数 | andThen |
UnaryOperator<T> | T | T | apply | 类型T上的一元操作符 | compose,andThen,identity |
BinaryOperator<T> | T,T | T | apply | 类型T上的二元操作符 | andThen,maxBy,minBy |
Predicate<T> | T | boolean | test | 布尔值函数 | and,or,negate,isEqual |
BiPredicate<T> | T,U | boolean | test | 有两个参数的布尔值函数 | and,or,negate |
函数式接口 | 参数类型 | 返回类型 | 抽象方法名 |
BooleanSupplier | none | boolean | getAsBoolean |
PSupplier | none | p | getAsP |
PConsumer | P | void | accept |
ObjPConsumer | T,P | void | accept |
PFunction<T> | P | T | apply |
PToQFunction | P | Q | applyAsQ |
ToPFunction<T> | T | P | applyAsP |
ToPBiFunction<T,U> | T,U | P | applyAsP |
PUnaryOperator | P | P | applyAsP |
PBinaryOperator | P,P | P | applyAsP |
PPredicate | P | boolean | test |
import java.util.function.IntConsumer; public class Test { public static void main(String[] args){ LambdaTest.test(); } } class LambdaTest{ public static void test(){ // LambdaTest.repeat(10,()-> System.out.println("Hello, World!")); LambdaTest.repeat(10,i-> System.out.println("Hello, World! "+i)); } public static void repeat(int n, Runnable action){ for (int i = 0; i < n; i++) { action.run(); } } public static void repeat(int n, IntConsumer action){ for (int i = 0; i < n; i++) { action.accept(i); } } }
以上是关于Java Lambda的主要内容,如果未能解决你的问题,请参考以下文章
Android开发太难了:Java Lambda ≠ Android Lambda (上)
Android开发太难了:Java Lambda ≠ Android Lambda (上)
JAVA由一个将JSONArray转成Map的需求引发的lambda语法的学习