JDK8 常用技术整理

工作上基本用的是JDK8(现在11已经发布),但是对8的特性用的很少、缺少系统性的整理,因此,腾出时间做以整理~

Lambda

Lambda表达式的语法形式如下:

1
2
3
4
5
6
7
8
9
10
主要组成:参数列表 + 箭头 + 表达式体,如 (int x, int y) -> x + y

其中,表达式体可以是一条表达式,也可以是一个语句块(多条代码语句);

Lambda表达式具有如下特征:

【可选】类型声明:参数的类型不需要声明,编译器可以根据参数值推断出其类型;
【可选】括号:单个参数的话,不需要用圆括号包围参数,当然,对于多个参数或无参数的话,括号是需要的;
【可选】花括号:如果表达式主体只有一条语句的话,不需要用花括号包围,当然,对于多条语句,花括号是需要的;
【可选】return关键字:如果表达式主体是单一表达式,return关键字可以不写,编译器可以自动返回该值,当然,如果写了return,则需要加上花括号;

Optionals

Streams

  • Filter
  • Sorted
  • Map
  • Match
  • Count
  • Reduce

Parallel Streams

Maps

Date API

  • Clock
  • Timezones
  • LocalTime
  • LocalDate
  • LocalDateTime
评论