Android 里用lambda表达式的优劣分析
2018-01-10 00:00
253 查看
lambda表达式有优点也有缺点,优点在于大大简化代码行数,使代码在一定程度上变的简洁干净,但是同样的,这可能也会是一个缺点,由于省略了太多东西,代码可读性有可能在一定程度上会降低,这个完全取决于你使用lambda表达式的位置所设计的API是否被你的代码的其他阅读者所熟悉。另外的优点,也是lambda表达式比较显眼的优点就是对外部定义的局部变量的使用更加灵活,想象一种极端情况,你的代码中有地方需要接口回调套接口回调,有可能套了好几层,虽然这种情况出现的概率比较低,但是一旦出现这种代码,lambda表达式的这个优点就到了大显身手的时机。虽然我说了,lambda表达式能用的地方非常有限,但是不得不否认,接口中只有一个抽象方法这种情况在接口回调中发生的概率绝对比接口中有多个抽象方法的概率高的多,所以,虽然使用情况很单一,但是能用到的次数却足够的多,如果你决定用lambda表达式替换你项目中接口回调的传统写法,你会发现,这样的情况非常多。
使用需要注意的地方:
1是使用lambda时不要有自动装箱拆箱,影响性能,
2是建议使用parallelStream方式。这种方式数据小的时候性能可能会稍微差一点,数据量大时会比foreach,iterator更快。如果这影响到系统的核心功能或成为系统一个新的瓶颈,那就相当可怕了。
总而言之,接口回调和lambda表达式这两种写法各有优劣,java 8在出现lambda表达式以后不代表原先的写法不能再用了,所以如何选择适合项目的写法,全看各位开发者如何自己选择,现在多了一种写法可选,总归是一件好事。
相关文章推荐
- C++11新特性中的匿名函数Lambda表达式的汇编实现分析(三)
- Android 开发使用 Java 8 中Lambda 表达式功能
- Lambda 表达式分析
- 浅谈Java 7的闭包与Lambda表达式之优劣
- 在Android上使用Lambda表达式 - retrolambda插件
- Android使用Lambda表达式 - retrolambda插件(优缺点)
- Android系统架构特点及优劣分析
- Java 8 动态类型语言Lambda表达式实现原理分析
- android studio使用Lambda表达式的正确姿势
- Android正则表达式使用及性能隐患分析
- Java 8 动态类型语言Lambda表达式实现原理分析
- Lambda表达式在Android中的使用
- 回调函数、仿函数和lambda表达式的优劣比较
- Android-->Realm(数据库ORM)使用体验,lambda表达式
- Android官方DataBinding(八):Lambda长表达式事件处理
- C++11新特性中的匿名函数Lambda表达式的汇编实现分析
- 浅谈Java 7的闭包与Lambda表达式之优劣
- Android开发中如何引入Lambda表达式?
- 高效开发:当Android中武装上Lambda表达式
- C++11新特性中的匿名函数Lambda表达式的汇编实现分析(二)