Java 8:让你的代码更简洁、高效和灵活的新特性

Java 8 ——企业中使用最普遍的版本,那么了解它的新特性是非常有必要的

目录

一、函数式接口

二、Lamdba表达式

三、方法引用

四、Stream API

3.1 创建

方法一:通过集合

方法二:通过数组

方法三:通过Stream的of()

方法四:创建无限流

3.2中间操作

1.筛选与切片

2.映射

3.排序

3.3终止操作

1.匹配与查找

2.归约

3.收集 

五、LocalDatetime

六、Optional类

七、接口中定义默认方法

八、Nashorn JavaScript 引擎


一、函数式接口

只有一个方法的接口,通常用@FunctionalInterface注解标识。

二、Lamdba表达式

对匿名内部类的替代,代码更简洁,只适用于函数式接口。

 Runnable runnable = new Runnable(){
            @Override
            public void run() {
                System.out.println("调用");
            }
        };
        Runnable runnable1 = ()->{System.out.println("调用");};

三、方法引用

方法引用是一种简化 Lambda 表达式的写法,它不带任何参数,可以通过方法的名字来引用一个已有的方法或构造器。

方法引用的语法格式是 :

  • 类名::方法名

  • 对象名::方法名

例如 String::length 表示一个获取字符串长度的函数,System.out::println 表示一个输出内容到控制台的消费者。

四、Stream API

Stream API对数组或者集合中的数据进行操作。 对于MySql,Oracle等可以用SQL语句处理,对于MongDB,Radis等NoSQL的数据需要java层面去处理,其中之一便有Stream API。

注意:

  • Stream自己不会存储元素,是用来对集合进行相关计算

  • Stream不会改变源对象,相反,他们会返回一个持有结果的新的Stream

  • Stream操作是延迟进行的,他们会等到需要结果的时候才执行

4.1 创建

方法一:通过集合

List<对象> a = new Arrylist<>();
//返回一个顺序流
Stream<对象> stream = a.stream;
//返回一个并行流
Stream<对象> parallelStream = a.parallelStream();

方法二:通过数组

int[] arr = new int[]{对象1,对象2,对象3};
IntStream stream =  Arrays.stream(arr);

方法三:通过Stream的of()

Stream<Integer> stream = Stream.of(1,2,3);

方法四:创建无限流

//取前十个偶数
Stream.iterate(0,t->t+2).limit(10).forEach(System.out::println);

4.2中间操作

注意:一旦执行了中止操作,原来的stream无法再使用,需要再次创建!

1.筛选与切片

2.映射

3.排序

4.3终止操作

1.匹配与查找

2.归约

 

3.收集 

 

五、LocalDatetime

LocalDate、LocalTime、LocalDateTime(第三代日期) 

 

六、Optional类

用来判断空指针,避免空指针异常问题

七、接口中定义默认方法

接口中可以编写方法,用default修饰。

八、Nashorn JavaScript 引擎

Nashorn JavaScript 引擎:Java 8 提供了一个新的 Nashorn JavaScript 引擎,它可以让开发者在 JVM 上运行特定的 JavaScript 应用。Nashorn JavaScript 引擎使用了新的语法解析器和编译器,比旧版的 Rhino 引擎更加高效和快速。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gavana.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值