• 欢迎访问开享网

java函数式接口

java 4个月前 (11-05) 123次浏览 已收录 0个评论 扫描二维码

常用函数式接口

接口 参数类型 返回类型 抽象方法 描述
Runable void run 无参数并且没有返回值
Supplier T get 无参数但是有返回值
Consumer T void accept 有一个参数但是没有返回值
BiConsumer<T,U> T,U void accept 有两个参数但是没有返回值
Function<T,R> T R apply 有一个参数并且有返回值
BiFunction<T,U,R> T,U R apply 有两个参数并且有返回值
UnaryOperator T T apply 类型T上的一元操作符
BinaryOperator T,T T apply 类型T上的二元操作符
Predicate T boolean test 一个参数的布尔值函数
BiPredicate<T,U> T,U boolean test 两个参数的布尔值函数

基本类型的函数式接口

接口 参数类型 返回类型 抽象方法
BooleanSupplier none boolean getAsBoolean
PSupplier none p getAsP
PConsumer p void accept
ObjPConsumer T,p void accept
PFunction p T apply
PToQFunction p q applyAsQ
ToPFunction T p applyAsP
ToPBiFunction<T,U> T,U p applyAsP
PUnaryOperator p p applyAsP
PBinayOperator p,p p applyAsP
PPredicate p boolean test

注:p,q* 为int,long,double;PQ 为Int,Long,Double


以上内容摘自《Java核心技术 第10版》

函数接口使用示例

  • 定义一个测试方法
public static void test(Integer num, Function<Integer,String> fun){
    System.out.println(fun.apply(num));
}
  • 调用测试方法
test(100, new Function<Integer, String>() {
    @Override
    public String apply(Integer integer) {
        return "num: "+integer;
    }
});

输出:num: 100

  • 使用lambda表达式调用,结果一样,代码更简洁
test(100,(e)->"num: "+e);

开享网 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:java函数式接口
喜欢 (1)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址