java8-01-初识Lambda表达式
为什么用 Lambda表达式
在java8之前 java语言 方法调用 无法将函数作为一个参数 也无法声明返回一个函数
对比 javaScript是典型函数式语言
总结: Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中) lambda 表达式使代码简洁紧凑。
引出------->函数式编程
函数式编程--->强调行为
它允许我们将一个函数当作方法的参数(传递函数)---------->(原来传递参数就是具体的数据)
什么是 Lambda表达式
Lambda 表达式是一个匿名函数 也可称为闭包 用来表示匿名内部类(函数内部类的函数)
它是推动 Java 8 发布的最重要新特性。
怎么用 Lambda表达式
Lambda基本结构
()->{方法体} //参数类型可省略 上下文可推断出来
(参数类型1 参数1, 参数类型2 参数2) ->{方法体}
也可简化为 参数1 -> {方法体}
1遍历中使用
1 public class TestLambda { 2 3 public static void main(String[] args) { 4 5 List<Integer> list = Arrays.asList(1, 3, 6, 9); 6 7 for (int i = 0; i < list.size(); i++) { 8 System.out.println(list.get(i)); 9 } 10 11 System.out.println("-------传统遍历-------"); 12 for (Integer i : list) { 13 System.out.println(i); 14 } 15 16 System.out.println("使用Lambda表达式遍历"); 17 18 list.forEach(i -> { 19 System.out.println(i); 20 }); 21 22 } 23 24 }
2.线程中使用
View Code
1 package com.wf.zhang.java8.lamdba; 2 3 public class TestLambda2 { 4 5 6 public static void main(String[] args) { 7 8 Runnable runnable = new Runnable() { 9 @Override 10 public void run() { 11 System.out.println("调用run方法"); 12 } 13 }; 14 15 16 Runnable runnable2 = () -> System.out.println("Lambda表达式调用run方法"); 17 18 } 19 20 }
古人学问无遗力,少壮工夫老始成。
纸上得来终觉浅,绝知此事要躬行。