Android 里用lambda表达式的优劣分析

    


lambda表达式有优点也有缺点,优点在于大大简化代码行数,使代码在一定程度上变的简洁干净,但是同样的,这可能也会是一个缺点,由于省略了太多东西,代码可读性有可能在一定程度上会降低,这个完全取决于你使用lambda表达式的位置所设计的API是否被你的代码的其他阅读者所熟悉。另外的优点,也是lambda表达式比较显眼的优点就是对外部定义的局部变量的使用更加灵活,想象一种极端情况,你的代码中有地方需要接口回调套接口回调,有可能套了好几层,虽然这种情况出现的概率比较低,但是一旦出现这种代码,lambda表达式的这个优点就到了大显身手的时机。虽然我说了,lambda表达式能用的地方非常有限,但是不得不否认,接口中只有一个抽象方法这种情况在接口回调中发生的概率绝对比接口中有多个抽象方法的概率高的多,所以,虽然使用情况很单一,但是能用到的次数却足够的多,如果你决定用lambda表达式替换你项目中接口回调的传统写法,你会发现,这样的情况非常多。

     使用需要注意的地方:

    1是使用lambda时不要有自动装箱拆箱,影响性能,

    2是建议使用parallelStream方式。这种方式数据小的时候性能可能会稍微差一点,数据量大时会比foreach,iterator更快。如果这影响到系统的核心功能或成为系统一个新的瓶颈,那就相当可怕了。


总而言之,接口回调和lambda表达式这两种写法各有优劣,java 8在出现lambda表达式以后不代表原先的写法不能再用了,所以如何选择适合项目的写法,全看各位开发者如何自己选择,现在多了一种写法可选,总归是一件好事。

Android 里用lambda表达式的优劣分析_第1张图片


你可能感兴趣的:(Android 里用lambda表达式的优劣分析)