美文网首页
# java 8 特性 lambda 表达式

# java 8 特性 lambda 表达式

作者: supermans1202 | 来源:发表于2019-12-14 21:04 被阅读0次

java 8 特性

在java 8种主要引用了两个特性: lambda表达式和stream 流处理。

下面我将使用尽量干净的话语介绍lambda表达式。

lambda 表达式

lambda表达式可以理解为匿名函数

java 中如何传递 匿名函数呢? 方法是只定义一个 函数的借口。

interface DoSomething{
    String function(String x);
}

然后我们就可以吧lambda表达式付给这个借口
下面是一个例子:

DoSomething x= (s)->{return s;};

从某种意义上来说,匿名函数是只有一个方法的匿名类的简写形式:

 DoSomething x= new DoSomething() {
            @Override
            public String function(String x) {
                return x;
            }
        };

其实上面的lambda表达式也可以进一步简写,这在你熟悉lambda后是有必要的:

DoSomething x= (s)->s;

下行起第三句话是重要的:
下行起第二话话是重要的:
下行起第一句话是重要的:
lambda的力量在于,可以把“操作”作为参数传递,让操作稍后实现

算了,还是举一个简单的例子吧:

 TimeUtils.timing(
                "event3",//1
                () -> {
                    try {
                        Thread.sleep(100);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                },
                (time) -> {
                    System.out.println(time);
                    return time;
                }
        );

我们可以实现这样的计时器。

  1. 第一个参数表示任务的标签: event3
  2. 第二个参数传递计时的操作: spleep 100ms
  3. 对计时进行输出:这里只是打印一下

这个工具类我有一个精妙的实现,可惜这页纸太小我写不下。
但可以给你看一下输出的结果:

--------------------------------------------------------------

   event3 start -> event3 end
   from [2019-12-14 20:35:10] to [2019-12-14 20:35:10]
   spend: 0 days: 0 hours: 0 minutes: 0 seconds 101 millisecond 0 nanosecond

--------------------------------------------------------------

关注公众号:连狗都会写代码 ,获取相关代码。


image.png image.png

相关文章

  • Java 8、9 语言新特性

    Java语言新特性 Java8 Java 8 新特性 Lambda 表达式 Lambda表达式(也叫做闭包)是Ja...

  • 《Java 8实战》学习总结

    Java 8新特性概览 Lambda表达式 流 默认方法 Lambda表达式 Lambda和函数式接口Java 8...

  • java lambda 表达式

    java lambda 表达式 lambda 是 java 8 引入的新特性,lambda 能替换简单的函数和类,...

  • Lambda表达式详解

    什么是Lambda表达式 Lambda表达式是Java 8的新特性,是函数式接口的实例。使用Lambda表达式可以...

  • Java8 之 Lambda 表达式与函数式接口

    一、Lambda 表达式 Lambda 表达式,也可称为闭包,它是 Java 8 发布的最重要新特性。Lambda...

  • java8 新特性

    java8 新特性 1 Lambda表达式 lambda 是一个匿名函数, lambda 表达式基本语法: jav...

  • Java 8 lambda 表达式

    lambda 表达式是 Java 8 支持的新特性之一。通过 lambda 表达式,Java 具备了函数式编程的能...

  • Lambda in Android

    Android 如何实现支持 lambda 表达式 lambda 表达式是 java 8 新引入的语言特性,使用了...

  • java8

    现代化 Java - Java8 指南 JAVA8新特性(吐血整理) 理解 Lambda 表达式

  • Java 8 CompletableFuture

    Java 8 CompletableFuture Java 8 有大量的新特性和增强如 Lambda 表达式,St...

网友评论

      本文标题:# java 8 特性 lambda 表达式

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