美文网首页
lambda初探

lambda初探

作者: 何德何能者 | 来源:发表于2019-10-12 16:50 被阅读0次
public class LambdaTest {

    /**
     * 返回lambda表达式
     * @param <T>
     * @return
     */
    public <T> Function<T, Integer> returnFun(T t) {
        return (v) -> Integer.parseInt(t.toString());
    }

    // 要构造lambda表达式,java最简单的语法是
    // () -> i; 表示,没有输入, 返回一个值
    // (T) -> R; 表示,一个输入,返回一个值
    // ...

    /**
     * 接收Function作为参数
     * 表示lambda表达式将接收到一个int输入, 然后返回一个输出, 这里int输入固定是2
     * @param fun 如果fun: (i)-> 9 + i; 则整个函数等价于(i)-> 9 + 2;
     * @param <R>
     * @return
     */
    public <R> R callFun(Function<Integer, R> fun) {
        return fun.apply(2); // 这里是执行表达式, 输入参数值是2
//        return (i) -> i;
    }

    @Test
    public void function() {
//        System.out.printf("I'm a function");
//        IntStream.range(1, 10).filter(i -> i == 1);
        System.out.println( "" + callFun((i) -> 9 + i));
        Function<Integer, Integer> fInt = (i) -> 9 + 2;
        System.out.println("" + fInt.apply(10));

        System.out.println(returnFun(99).apply(98)); // 这里t=99, v=98
    }
}

相关文章

  • lambda初探

  • Lambda初探

    Lambda表达式基本概念 函数式接口:定义了有且仅有一个抽象方法的接口,哪怕接口中有其他默认的方法。 允许以内联...

  • Lambda 表达式

    一 lambda 表达式初探 关于定义:Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使...

  • java lamda

    一、lambda初探 lambda可以是java_8出来新特性,可以使代码更加紧凑以及简洁,增加可读性,下面简单的...

  • 苹果 ARKit 初探

    苹果 ARKit 初探 苹果 ARKit 初探

  • 二,Kotlin之Lambda表达式详解

    概览 Lambda介绍 Lambda使用Lambda表达式的特点Lambda语法 Lambda实践it下划线(_)...

  • iOS 8 Size Classes初探

    iOS 8 Size Classes初探 iOS 8 Size Classes初探

  • WWDC 2018:初探 Create ML

    WWDC 2018:初探 Create ML WWDC 2018:初探 Create ML

  • iOS 初探代码混淆(OC)

    iOS 初探代码混淆(OC) iOS 初探代码混淆(OC)

  • JDK8新特性

    Lambda语法 Lambda是什么? "Lambda表达式"(Lambda expression)是一个匿名函数...

网友评论

      本文标题:lambda初探

      本文链接:https://www.haomeiwen.com/subject/krtcmctx.html