在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或更低版??本上運行帶有l(wèi)ambda表達式和方法引用的Java 8代碼。 它通過轉換Java 8編譯的字節(jié)碼來做到這一點,以便它可以在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表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mlf逆回购啥意思?
- 下一篇: JavaFX技巧17:带有AnchorP