Java8新特性

Lambda

Lambda概述



lambda表示数学符号“λ”,计算机领域中λ代表“λ演算”,表达了计算机中最基本的概念:“调用”和“置换”。

为什么使用lambda?

一、Java是面向对象的语言,不能象函数式语言那样嵌套定义方法。
二、Java的匿名内部类只能存在于创建它的线程中,不能运行在多线程中,无法充分利用多核的硬件优势。
三、匿名内部类的缺点还有:
1. 语法相对复杂。
2. 在调用内部类的上下文中,指引和this的指代容易混淆。
3. 类加载和实例创建语法不可避免。
4. 不能引用外部的非final对象。
5. 不能抽象化控制流程。

Lambda语法

lambda的语法包括三部分
1、参数列表
2、箭头符号"->"
3、代码块。


【案例】



Stream



什么是Stream



1、Stream在Java8中被定义为泛型接口
2、Stream接口代表数据流。
3、Stream不是一个数据结构,不直接存储数据。
4、Stream通过管道操作数据。
5、创建Stream接口实现类对象:
    stream():创建一个Stream接口实现类的对象。
例如: 



什么是管道



一、管道:代表一个操作序列。
二、管道包含以下组件:
1、数据集:可能是集合、数组等。
2、零个或多个中间业务。如过滤器
3、一个终端操作,如的forEach


什么是过滤器



1、过滤器:用给定的条件在源数据基础上过滤出新的数据,并返回一个Stream对象。
2、过滤器包含匹配的谓词。
例如:判断p对象是否为男性的lambda表达式:
Stream<Person> stream=people.stream();
stream=stream.filter(p->p..getAge()==21);


【案例】创建一个元素为Person类的集合:people
使用Stream和forEach显示该集合所有元素。







DoubleStream接口

一、DoubleStream接口表示元素类型是double的数据源。
二、DoubleStream接口的常用方法:
1、 max().getAsDouble():获取流中数据集的最大值。
2、stream.min().getAsDouble() :获取流中数据集的最小值。
3、stream.average() :获取流中数据集的平均值。
三、获取DoubleStream
     集合变量.mapToDouble()


【案例】统计people集合中平均年龄



localDate类

概述

LocalDate类使用ISO日历表示年、月、日。

常用方法

LocalDate类的常用方法:
1、 LocalDate.now():获取系统当前日期。
2、 LocalDate.of(int year,int month,int dayOfMonth)
按指定日期创建LocalDate对象。
3、getYear():返回日期中的年份。
4、getMonth():返回日期中的月份。

5、getDayOfMonth():返回月份中的日。


【案例】用LocalDate获取当前日期。


localTime类



概述

LocalTime类用于表示一天中的时间




常用方法



LocalTime类的常用方法:
1、 LocalTime.now():获取系统当前时间。
2、 LocalTime.of(int hour,int minute,int second)
按指定时间创建LocalTime对象。
3、getHour():返回小时。
4、getMinute():返回分钟。
5、getSecond():返回秒。
【案例】用LocalTime获取当前时间

localDateTime类



概述
LocalDateTime类用于表示日期和时间


常用方法


LocalDateTime类的常用方法:
1、 LocalDateTime.now():获取系统当前时间。
2、 LocalDateTime.of(int year,int month,int dayOfMonth
int hour,int minute,int second)
按指定日期和时间创建LocalDateTime对象。
3、getYear():返回日期中的年份。
4、getMonth():返回日期中的月份。
5、getDayOfMonth():返回月份中的日。
6、getHour():返回小时。
7、getMinute():返回分钟。

8、getSecond():返回秒。


【案例】用LocalDateTime获取当前日期和时间。



DateTimeFormatter类


概述

DateTimeFormatter类用于将字符串解析为日期


常用方法

1、static ofPattern(String pattern);
作用:按pattern字符串指定的格式创建DateTimeFormatter对象。
2、 LocalDateTime.parse(strDate, formatter);
作用:按指定模板和字符串创建LocalDateTime对象





ZonedDateTime类



概述

ZonedDateTime处理日期和时间与相应的时区。

常用方法

1、ZonedDateTime.now()
获取系统当前日期和事件。
2、 String format(DateTimeFormatter formatter)。
按指定模板将日期对象格式化为一个字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值