【问题标题】:What is the use of Retrolambda? [closed]Retrolambda 有什么用? [关闭]
【发布时间】:2017-04-28 11:30:44
【问题描述】:

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

【问题讨论】:

  • 这是为了能够在 Android 中使用 Java 8 的 lambda 功能。如果你想使用 lamdbas,你会使用它
  • 什么是反向移植?
  • 我已经编辑了我的评论
  • 无论你想在哪里使用 lamdbas

标签: java android retrolambda


【解决方案1】:

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

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

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

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

支持所有 Java 7 语言功能和 Java 8 语言功能的子集

“Lambdas”适用于所有 SDK 版本

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

Android Java 8 Support

另外,值得一提

Retrolambda 不支持使用 Java 8 语言功能的第三方库。

【讨论】:

  • 我的意思是没有必要再使用它了。 OP 可能找到了一些提到它的旧教程
  • 对于想要使用 lambdas 而不是使用 AS 的预览版本进行开发的每个人来说都是必要的。无论如何建议有人应该使用 B 问题是询问 A 的用途可能属于评论
  • 是的,我改写了。感谢您的错字修复
【解决方案2】:

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"));

您可以使用此链接: https://mayojava.github.io/android/java/using-java8-lambda-expressions-in-android

【讨论】:

  • 该链接已过时,因为 Java 8 功能位于 Android Studio 金丝雀频道中。没有 Jack 编译器
猜你喜欢
  • 2010-09-09
  • 2021-07-23
  • 2011-05-17
  • 1970-01-01
  • 1970-01-01
  • 2018-08-25
  • 2015-06-01
  • 2012-10-21
  • 2011-05-14
相关资源
最近更新 更多