在Java 7或更早版本中使用Java 8 Lambda表达式
我认为没有人会拒绝Java 8引入的Lambda表达式的有用性。但是,许多项目都停留在Java 7甚至旧版本上。 升级可能既耗时又昂贵。 如果第三方组件与Java 8不兼容,则可能根本无法升级。
除此之外,整个Android平台都停留在Java 6和7上。
尽管如此,Lambda表达式仍然有希望!
Retrolambda为Java 5、6和7提供了Lambda表达式的反向移植。
从Retrolambda文档中:
Retrolambda使您可以在Java 7或更低版本上运行带有lambda表达式和方法引用的Java 8代码。 它通过转换Java 8编译的字节码来做到这一点,以便它可以在Java 7运行时上运行。 转换后,它们只是一堆普通的.class文件,没有任何其他运行时依赖项。
要运行Retrolambda,可以使用Maven或Gradle插件。
如果要在Android上使用Lambda表达式,则只需将以下行添加到gradle构建文件中:
<project> /build.gradle :
buildscript {dependencies {classpath 'me.tatarka:gradle-retrolambda:2.4.0' }
}
<project> /app/build.gradle :
apply plugin: 'com.android.application'// Apply retro lambda plugin after the Android plugin
apply plugin: 'retrolambda' android {compileOptions {// change compatibility to Java 8 to get Java 8 IDE support sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}
}
翻译自: https://www.javacodegeeks.com/2015/03/using-java-8-lambda-expressions-in-java-7-or-older.html
在Java 7或更早版本中使用Java 8 Lambda表达式相关推荐
- lambda表达式_在Java 7或更早版本中使用Java 8 Lambda表达式
lambda表达式 我认为没有人会拒绝Java 8引入的Lambda表达式的有用性.但是,许多项目都停留在Java 7甚至旧版本上. 升级可能既耗时又昂贵. 如果第三方组件与Java 8不兼容,则可能 ...
- Android Studio TV开发教程(十五) Android N及更早版本中的建议
Android Studio TV开发教程 (转自Android官网https://developer.android.com/training/tv/start) 文章源自:光谷佳武 https:/ ...
- Java 10及更高版本的思考
大家好 Java 10于2018年3月20日发布.我认为许多软件团队将阻止升级. 从Java 8到Java 9的专业人员人数可能还更少.为什么会这样,原因是传统的障碍以及对应用程序服务器,框架甚至是云 ...
- linux数据泄露,Linux Kernel 5.9.1 及更早版本发现数据泄露和特权升级漏洞,需尽快升级...
新酷产品第一时间免费试玩,还有众多优质达人分享独到生活经验,快来新浪众测,体验各领域最前沿.最有趣.最好玩的产品吧~!下载客户端还能获得专享福利哦! 原标题:Linux Kernel 5.9.1 及更 ...
- 棉花糖多少钱_如何在6.0棉花糖及更高版本中访问Android的正在运行的应用程序列表...
棉花糖多少钱 In Android 5.x and below, accessing your list of running apps was simple-you'd jump into Sett ...
- Visual Studio 2019 及更低版本中 Microsoft C++ 编译器对 C++ ISO 标准支持情况
微软官方网址:https://docs.microsoft.com/zh-cn/cpp/overview/visual-cpp-language-conformance?view=vs-2019 本主 ...
- ios 查找朋友 android,在 iOS 12 或更低版本中设置和使用“查找我的朋友”
如果您使用的是 iOS 13.iPadOS.macOS Catalina 或更高版本,则"查找"App 已将"查找我的 iPhone"和"查找我的朋友 ...
- java coin介绍_代码示例中的Java 7:Project Coin
java coin介绍 该博客通过代码示例介绍了一些新的Java 7功能,这些项目在Project Coin一词下进行了概述. Project Coin的目标是向JDK 7添加一组小的语言更改.这些更 ...
- Java学习记录五(多线程、网络编程、Lambda表达式和接口组成更新)
Java学习记录五(多线程.网络编程.Lambda表达式和接口组成更新) Java 25.多线程 25.1实现多线程 25.1.1进程 25.1.2线程 25.1.3多线程的实现 25.1.4设置和获 ...
最新文章
- 飞机的“黑色十分钟”能被人工智能消灭吗?
- android 虚拟机快捷键中英列表
- ios请求php接口失败,laravel,php_iOS调用Laravel接口返回错误信息,laravel,php,ios - phpStudy...
- 到亿位的金额小写转大写JS代码
- uva11029 - Leading and Trailing
- test.php.bak,MongoDB热备份工具:解决官方版备份缺陷
- Mysql数据中文乱码问题处理
- matlab simulink_简单五步实现 MATLAB/Simulink 锂电池建模
- 构建第一个fabric网络
- 博文视点大讲堂第20期——Windows 7来了
- 18. JavaScript event 对象
- how to get keyboard key with non blocking in terminal
- Python获取实时的时间
- 如何更改Eclipse中Properties文件编码格式
- vFORUM 2018,开启多云未来
- 项目管理 : 如何做好建筑工程的施工成本管理
- 湖南科技大学2018年C语言程序设计实验题——问题 J: 成绩统计
- https请求调用工具类
- P1488 肥猫的游戏 题解
- Git将分支代码合并到主干/将主干代码合并到分支
热门文章
- java基础的知识点(一)
- ssh(Spring+Spring mvc+hibernate)——applicationContext-servlet.xml
- Springmvc入门案例(1)
- SpringBootAdmin
- LocalDateTime与LocalDate之间的相互转换
- Linux清理磁盘挂载点方法(亲测有效)
- Hystrix---SpringCloud
- 堆排序原理及其实现(C++)
- NanoHTTPD web server的一个简单荔枝
- datagrid获取页面总记录数的方法,datagrid获取页面总记录数为0的解决方法