android studio配置lambda教程

java1.8的特性之一便是随同发布的lambda表达式,它将允许我们将行为传到函数里。在Java 8之前,如果想将行为传入函数,仅有的选择就是匿名类,需要6行代码。而定义行为最重要的那行代码,却混在中间不够突出。Lambda表达式取代了匿名类,取消了模板,允许用函数式风格编写代码。这样有时可读性更好,表达更清晰。

我们先看几个例子:

// Java 8之前:
new Thread(new Runnable() {
    @Override
    public void run() {
    System.out.println("Before Java8, too much code for too little to do");
    }
}).start();

//Java 8方式:
new Thread( () -> System.out.println("In Java8, Lambda expression rocks !!") ).start();
// Java 8之前:
JButton show =  new JButton("Show");
show.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
    System.out.println("Event handling without lambda expression is boring");
    }
});

// Java 8方式:
show.addActionListener(e -> System.out.println("Light, Camera, Action !! Lambda expressions Rocks"));

就问你爽不爽?!

好,看完例子,我们来看一看在AS下如何配置lambda。

要使用lambda,首先必须配置编译环境,这里使用的android studio,as默认的jdk版本是1.6,修改成1.8即可使用,这里确保你系统安装了jdk1.8,否则需要用到下面插件:
gradle-retrolambda

设置项目结构

按快捷键Ctrl+Shift+Alt+S进入项目结构设置,把app的jdk版本修改成1_8,注意你需要填写1_8,因为那个下拉菜单里没有这一选项,如下:

这里写图片描述

然后项目会自动同步,接下来你的build.gradle中会出现如下:

这里写图片描述

如此便大功告成,让我们开始使用吧。通过上面设置jdk版本为1.8后,可以那个lambda语法替换的地方会有下面提示:

这里写图片描述

然后我们按快捷键Alt+Enter,是这样的:

这里写图片描述

一行代码就搞定了,清晰可见,把行为传到了函数里,这里注意item不可省略,是函数OnMenuItemClickListener的参数,当然它可以是任意名字,只要你能知道它的意思,尽管它的很多行为你始终不会明白。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值