Retrolambda有什么用?

What is the use of Retrolambda?

Retrolambda有什么用?
我们在哪里使用 Retrolambda 框架?

Retrolambda 是一个允许在 Java 7、6 或 5 上使用 Java 8 lambda 表达式、方法引用和 try-with-resources 语句的库。

Gradle Retrolambda 插件允许将 Retrolambda 集成到基于 Gradle 的构建中。例如,这允许在 Android 应用程序中使用这些构造,因为标准 Android 开发目前尚不支持 Java 8.

TextView textView = (TextView) findViewById(R.id.text_view);

textView.setOnLongClickListener(v -> System.out.println("Long Click"));

你可以使用这个 link : https://mayojava.github.io/android/java/using-java8-lambda-expressions-in-android

在 Android 的早期版本中,不支持 Java 8。 Retrolambda 提供了一种在低于 8 的 Java 版本上使用 "lambda expressions" 的方法。

Android 中 lambda 的常见示例用于点击侦听器

button.onClick(v -> Log.i("hello", "lambdas"));

但是,从 Android Studio 2.4 Preview 4 及更高版本开始,它

supports all Java 7 language features and a subset of Java 8 language features

"Lambdas" 适用于所有 SDK 版本

Android Studio 提供了从 Retrolambda 迁移的工具,因为它不再是必需的。

Android Java 8 Support

另外,值得一提

Retrolambda lacks support for third party libraries that use Java 8 language features.