一.lambda表达式:
1. 什么是Lambda表达式
Lambda表达式,也可称为闭包。类似于JavaScript中的闭包,它是推动Java8发布的最重要的新特性。
lambda表达式是一个可以传递的代码块,可以在以后一次或多次执行,也就是它会延迟执行,等待某个时刻或者某个事件发生在执行。它类似于一个方法的实现。
2. 为什么使用Lambda表达式
我们可以把Lambda表达式理解为一段可以传递的代码(将代码像数据一样进行传递)。Lambda允许把函数作为一个方法的参数,使用Lambda表达式可以写出更简洁、更灵活的代码,而其作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。
3.语法:
(String f, String s) -> f.length()-s.length();
- 与传统的方式进行对比:
- 无参的方法:
-
package com.pro.test; public class XxTest2 { public static void main(String[] args) { //lambda表达式,大括号里面是函数体,也叫代码块,小括号就是方法参数对应的括号 XxTest1 x1=()->{ System.out.println("hello xx"); return "ok ya"; }; String ok = x1.hello(); System.out.println(ok); } /*传统方式*/ private static void a1() { //1. XxTest1 x1 = new XxTest1() { @Override public String hello() { System.out.println("hello xx"); return "ok"; } }; //2.调用方法 String ok = x1.hello(); System.out.println(ok); } }
- 带形参的标准写法:
- 如果是单行还可简化:
练习:
- 传统方式:
- lambda方式:
- 那如果接口有参数,就在小括号里面写参数就可以了
二.io流:输入输出流