一.5异常与多线程
6Lambda表达式
6.1函数式思想编程概述
在干什么,而不是怎么干
面向对象的思想:
做一件事情,找一个能解决这个事猜的对象,调用对象的方法,完成事情.函
数式编程思想:
只要能获取结果,谁去做的,怎么做的都不重要,重视的是结果,不重视过程。
6.2Lambda使用
例:
new Thread(new Runnable() { @Override public void run() { System.out.println(Thread.currentThread().getName() + "正在执行"); } }).start();
改为:
//使用Lambda new Thread(()-> { System.out.println(Thread.currentThread().getName() + "正在执行"); } ).start();
6.3Lambda格式
使用Lambda的优化*/ /*Lambdo表达式的标准格式: 由三部分组成: a.-些参数 b.一个箭头 C.一段代码 格式: (参数列表) -> {一 些重写方法的代码}; 解释说明格式: ():接口中抽象方法的参数列表,没有参数,就空着;有参数就写出参数,多个参数使用逗号分隔 ->:传递的意思,把参数传递给方法体{} {}:重写接口的抽象方法的方法体
6.4Lambda格式和Lambda使用前提
Lambda表达式:是可推导,可以省略 凡是根据上下文推导出来的内容,都可以省略书写 可以省略的内容: 1. (参数列表):括号中参数列表的数据类型,可以省略不写 2. (参数列表):括号中的参数如果只有一一个,那么类型和( )都可以省略 3.{-些代码} :如果{ }中的代码只有一行,无论是否有返回值,都可以省略({},return,分号)注意:要省略{}, return,分号必须-起省略 /*mbda的语法非常简洁,完全没有面向对象复杂的束缚。但是使用时有几个问题需要特别注意: 1.使用Lambda必须具有接口,且要求接口中有且仅有一 个抽象方法。 无论是JDK内置的Runnable、1 Comparator 接口还是自定义的接口,只有当接口中的抽象方法存在且唯一时 ,才可以使用Lambda。 2.使用Lambda必须具有上下文推断。 也就是方法的参数或局部变量类型必须为Lambda对应的接口类型,才能使用Lambda作为该接口的实例。备注:有且仅有一一个抽象方法的接口,称为”函数式接口*/