有些场景的代码执行后,结果不一定会被使用,从而造成性能浪费。而Lambda表达式是延迟执行的,这正好可以
作为解决方案,提升性能 , 接下来利用一个小例子来演示Lambda的延迟执行优点。
1.性能浪费案例:
![](https://i-blog.csdnimg.cn/blog_migrate/d0fb651ea20cd0756cf4febdfc9acb02.png)
2.利用Lambda来执行
![](https://i-blog.csdnimg.cn/blog_migrate/55549dc4ce8bab5b56975eb0bfccfb38.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0a869efcb6a32849baddf892131c3053.png)
3.证明Lambda表达式延迟
![](https://i-blog.csdnimg.cn/blog_migrate/b675f0d3c92779b4244cf06af97f6188.png)
输出结果为:
![](https://i-blog.csdnimg.cn/blog_migrate/e9da13d8f278f18a11cd216fc6bab1e2.png)
总结: 当然Lmabda表达式并不是唯一方法,你也可以使用内部类来完成,但是Lmabda表达式要比内部类更简单,()为参数
->后面为返回值。当然还有一种{}为占位符的方法
例如:
LOGGER.debug("
变量
{}
的取值为
{}
。
", "os", "macOS")
,其中的大括号
{}
为占位
符。如果满足日志级别要求,则会将
“os”
和
“macOS”
两个字符串依次拼接到大括号的位置;否则不会进行字
符串拼接。这也是一种可行解决方案,但
Lambda
可以做到更好。