在Android中使用Java 8的lambda表达式

本文介绍如何在Android开发中运用Java8引入的lambda表达式,通过安装Java8 SDK、调整Android Studio设置及Gradle配置,实现使用lambda表达式的功能,解决了Java开发者在闭包使用上的困扰。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

译自http://www.coshx.com/blog/2015/03/23/use-java-8s-lambda-functions-in-android/

在Android中使用Java 8的lambda表达式

作为一名Java开发者,或许你时常因为缺乏闭包而产生许多的困扰。幸运的是:Java’s 8th version introduced lambda functions给我们带来了好消息;然而,这咩有什么卵用,在android上面,我们仍旧只能使用Java7.

那么现在情况如何?哈哈,我们android developer也能用啦!我们的老伙计Esko Luontola发现了在android上面使用lambda的方法,真是棒啊!那么,我们来看看是怎么实现的吧!

Just as there was Retroweaver et al. for running Java 5 code with generics on Java 1.4。Retrolambda允许我们能够在Java 8或者更低的版本上使用lambda表达式。这真是太棒了:在Java 7的虚拟机中,我们能够运行在8上编译完成的代码。

现在,我们使用Android Studio和gradle来实现吧,和Retrolambda签订契约,成为马猴烧酒吧(雾!

Install JAVA 8 SDK

能搞起,前提是要使用Java 8的SDK,在这里能够下载:JAVA 8

好了,现在在android studio中设置使用java 8吧。

Mac:

File > Project structure. 需要将这样设置:
set4javaSDK
别的可以参照设置。

Set up Gradle

你真棒呀!差不多你快好了。最后的步骤就是编辑Gradle的一些配置文件了。我们将会使用Retrolambda plugin from Evan Tatarka,这样才能够支持lambda表达式。

First、打开app模块中的build.gradle文件,改变compileOption节点下的配置:

android {
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

Second、在同样的文件中添加:

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'me.tatarka:gradle-retrolambda:2.5.0'
    }
}

repositories {
    mavenCentral()
}

apply plugin: 'me.tatarka.retrolambda'

然后就OK啦,尝试build你的工程吧,肯定棒棒哒~

需要注意的是:Retrolambda仅仅允许你使用Java 8中的lambda表达式,其他的特性在android中是行不通的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值