JDK8有哪些引人注目的新特性?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1688个文字,预计阅读时间需要7分钟。
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分钟。
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表达式,不仅书写简单,还能优化性能。

