zoukankan      html  css  js  c++  java
  • java 8 lambda函数

    1 为什么要引进lambda函数

    可以简化编码,将事情更多的交给编译器,让编译器帮我们推断我们写的代码的完整形式。

    2 lambda函数的语法

    2.1 ->

    (arg1, arg2) -> {函数体}

    lambda表达式本质上是函数的一种简写,直接给出函数的参数和函数体即可,不用再写函数名。

    记住lambda函数也是有返回值的。

    表达式:

    (str, from, end) -> str.subString(from, end)

    语句块:

    new Thread(() -> {

        //do something...

    }).start();

    2.2 ::

    _strategy::produce

    3 表达式类型的推断

    根据其被赋值的对象的类型。

    比如

    new Thread(() -> {

        //do something...

    }).start();

    那么这个lambda表达式就是一个Runnable对象了。

    4 用lambda函数实现Runnable

    java 8之前:

    new Thread(new Runnable() {

        @Override

        public void run() {

           System.out.println("Before java 8, too much code for too little to do");

        }

    }).start();

    java 8:

    new Thread(() -> System.out.println(in java 8, lambda make things simplier)).start();

    5 lambda函数可以直接代替接口

    在需要传入接口对象的地方直接用lambda函数,可以节省很多的代码。

    6 lambda函数的作用域

    lambda表达式内的变量和外部环境的变量语义一样,比如this,在lambda表达式内外都是指的一个对象,也就是说,把lambda表达式当成是类的内部的一部分就可以了。

  • 相关阅读:
    容易混淆的JavaScript基础知识之语法部分
    CSS入门基础学习一
    HTML基础入门学习准备篇
    HTML基础入门学习
    数据结构绪论
    CSS入门基础学习二
    JavaScript学习第一篇
    CSS/CSS3常用的样式
    vs 发生异常时不能被捕获
    c# 反射
  • 原文地址:https://www.cnblogs.com/hustdc/p/8397979.html
Copyright © 2011-2022 走看看