android上的JAVA8:使用retrolambda

Java8引入了lambda表达式,让许多开发者激动不已,本文介绍如何在Android上使用lambda。

  1. 首先下载 java8 sdk,并且配置完成
  2. build.gradle中加入编译的依赖,这会使用retrolambda来编译Java代码
buildscript {
//开始加入
 dependencies {
 classpath 'me.tatarka:gradle-retrolambda:3.1.0'
 }
 //结束插入
}

同时要加入plugin声明
apply plugin: 'me.tatarka.retrolambda'

3 . 加入compileOptions,这会让IDE使用用JAVA8语法解析

compileOptions {
 sourceCompatibility JavaVersion.VERSION_1_8
 targetCompatibility JavaVersion.VERSION_1_8
}

4 . 指定将源码编译的级别,,使用下列代码,会将代码编译到兼容1.6的字节码格式

retrolambda {
 javaVersion JavaVersion.VERSION_1_6
}

5 . 添加测试代码, 对于只有一个方法的接口,java8中可以使用lambda表达式代替,所以我们熟悉的设定View点击事件的代码,只要这样写就可以了

v.setOnClickListener(v1 -> Toast.makeText(getActivity(), "clicked", Toast.LENGTH_LONG).show());

对比一下之前的代码量,是不是爽爆了?!!

v.setOnClickListener(new View.OnClickListener(View v) {
 @Override
 public void onClick(View v) {
 Toast.makeText(getActivity(), "clicked", Toast.LENGTH_LONG).show()
 }
});

所有代码可以在这里找到:

http://tinyurl.com/qdbae7d

原文地址:juude.net/lambdajava

转载于:https://www.cnblogs.com/Juude/p/4551540.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值