JDK8有哪些引人注目的新特性?

2026-05-21 04:012阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1688个文字,预计阅读时间需要7分钟。

JDK8有哪些引人注目的新特性?

Lambda表达式:性能优化,先看一段常见程序。这段程序很简单,但会构成性能上的浪费。看看这里,调用showLog函数,直接传递字符串1和mess1以及mess2拼接好的字符串,显示Hel。

Lambda表达式

一:优化性能

先看一段常见的程序

这段程序很简单,但是,会造成性能上的浪费。你看啊,这里调用showLog函数,直接传递1以及mess1和mess2拼接好的字符串传过去,显示Hellojava。但是,如果传递的level是不是1,那么,就不会输出Hellojava,但是,还是会把mess1和mess2拼接好的字符串传递过去。

下来,看一下Lambda​​表达式​​写这段程序。

函数式接口IMyLambda

测试类

与上面普通方法不同的是:上面的会把拼接字符串mess1 + mess2传给showLog函数;

而使用Lambda表达式,仅仅是把参数传递到showLog方法中,如果第一个参数level是1,才会调用接口IMyLambda中的方法buildMess方法,才会进行字符串的拼接。否则,如果不是1,那么就不会调用接口中的方法,不会进行字符串的拼接。所以,Lambda表达式在一定程度上,优化了程序。

二:书写简单

Lambda表达式和匿名内部类很像,比如:

Lambda表达式写法:

匿名内部类写法:

for循环

但是,Lambda仅仅适用于函数式接口,所以,在参数为函数式接口的方法中,我们可以尽量使用Lambda表达式,不仅书写简单,还能优化性能。

阅读全文

本文共计1688个文字,预计阅读时间需要7分钟。

JDK8有哪些引人注目的新特性?

Lambda表达式:性能优化,先看一段常见程序。这段程序很简单,但会构成性能上的浪费。看看这里,调用showLog函数,直接传递字符串1和mess1以及mess2拼接好的字符串,显示Hel。

Lambda表达式

一:优化性能

先看一段常见的程序

这段程序很简单,但是,会造成性能上的浪费。你看啊,这里调用showLog函数,直接传递1以及mess1和mess2拼接好的字符串传过去,显示Hellojava。但是,如果传递的level是不是1,那么,就不会输出Hellojava,但是,还是会把mess1和mess2拼接好的字符串传递过去。

下来,看一下Lambda​​表达式​​写这段程序。

函数式接口IMyLambda

测试类

与上面普通方法不同的是:上面的会把拼接字符串mess1 + mess2传给showLog函数;

而使用Lambda表达式,仅仅是把参数传递到showLog方法中,如果第一个参数level是1,才会调用接口IMyLambda中的方法buildMess方法,才会进行字符串的拼接。否则,如果不是1,那么就不会调用接口中的方法,不会进行字符串的拼接。所以,Lambda表达式在一定程度上,优化了程序。

二:书写简单

Lambda表达式和匿名内部类很像,比如:

Lambda表达式写法:

匿名内部类写法:

for循环

但是,Lambda仅仅适用于函数式接口,所以,在参数为函数式接口的方法中,我们可以尽量使用Lambda表达式,不仅书写简单,还能优化性能。

阅读全文