Just as there was Retroweaver et al. for running Java 5 code with
generics on Java 1.4, Retrolambda lets you run Java 8 code with lambda
expressions, method references and try-with-resources statements
on Java 7, 6 or 5. It does this by transforming your Java 8 compiled
bytecode so that it can run on an older Java runtime. After the
transformation they are just a bunch of normal .class files, without any
additional runtime dependencies.
Read more details.
There is also limited support for backporting default methods and static methods on interfaces. This feature is disabled by default.
Retrolambda supports backporting to Java 7, Java 6 and Java 5 runtimes. And for adventurous developers there are other backporting tools that may let you go from Java 5 down to Java 1.4.
Android developers may use Retrolambda to take advantage of the Java 8 features on Android. Serge Zaitsev has written an article about it and there is a Gradle plugin which makes it easy.
Retrolambda does not backport the new Java 8 APIs, but there are other projects that have backported some of them:
Functional Java alternatives and similar libraries
Based on the "Functional Programming" category
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of Functional Java or a related project?