学习Java8--Lambda表达式
来源:互联网 发布:2016欧洲杯数据 编辑:程序博客网 时间:2024/05/22 01:41
1 为什么使用lambda表达式
先看几个Java8之前常用的例子
创建线程并启动(不适用Lambda 表达式)
public class Worker implements Runnable { @Override public void run() { for (int i = 0; i < 10; i++) { dowork(i); } } private void dowork(int i) { System.out.println("thread "+i); } public static void main(String[] args) { Worker worker = new Worker(); new Thread(worker).start(); }}(使用lambda表达式)
new Thread(() -> { for (int i = 0; i < 100; i++) { doWork(); }}).start();比较数组
// 定义一个比较器
public
class
LengthComparator
implements
Comparator<String> {
@Override
public
int
compare(String first, String second) {
return
Integer.compare(first.length(), second.length());
}
}
//对字符数组进行比较
Arrays.sort(words,
new
LengthComparator());
比较数组(采用Lambda版本)
// 定义一个比较器
public
class
LengthComparator
implements
Comparator<String> {
@Override
public
int
compare(String first, String second) {
return
Integer.compare(first.length(), second.length());
}
}
//对字符数组进行比较
Arrays.sort(words,
new
LengthComparator());
Lambda表达式的语法
格式:(参数) -> 表达式
其中:
- 参数可以为0-n个。如果有多个参数,以逗号(,)分割。如果有一个参数,括号()可以省去;如果没有参数,括号()也不能省去。参数前可以加类型名,但由于自动类型推导功能,可以省去。
- 表达式可以是一行表达式,也可以是多条语句。如果是多条语句,需要包裹在大括号{}中。
- 表达式不需要显示执行返回结果,它会从上下文中自动推导。
以下是一些例子:
一个参数
多个参数
0个参数
表达式块
阅读全文
0 0
- java8 Lambda 表达式 学习
- java8学习 -- lambda表达式
- java8学习-Lambda表达式
- Java8 Lambda表达式学习
- java8 Lambda表达式学习
- 学习Java8--Lambda表达式
- java8基础学习-lambda表达式
- Java8学习(3)- Lambda 表达式
- Java8学习(3)- Lambda 表达式
- 学习java8的lambda表达式
- Java8中Lambda表达式学习
- JAVA8学习之Lambda表达式
- java8 Lambda表达式的学习与测试
- Java8学习笔记之Lambda表达式
- Java8 实战学习 — Lambda 表达式
- Java8学习笔记 — 【Lambda表达式】
- 深入学习java8一(Lambda表达式简介)
- Java8 Lambda表达式教程
- 倒计时封装 程序进入后台不会暂停计时器
- React Native入门(十一)之屏幕适配
- Error:Unable to find method 'com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List;'.
- 【KMP】【poj3167】【bzoj1729】Cow Patterns (kmp变形)
- Excel上传示例及后台解析Excel
- 学习Java8--Lambda表达式
- Spark 编程指南(一)
- 论文代发过程注意哪些事项
- 基于802.11协议的节能技术
- ImageNet Evolution论文笔记(3)
- Ucam v8.4.1 WinALL 1CD完整好用\
- JZOJ 5425. 【NOIP2017提高A组集训10.25】数论
- android中的文件操作详解以及内部存储和外部存储
- app嵌套h5页面的问题总结