【Android】在studio中使用lambda

pre:写在前面

概念:Java8中的lambda表达式,Lambda表达式本质上是一种匿名方法,既没有方法名,也没有访问修饰符合返回值类型,但是它可以让编写更加直接,凡是只有一个待实现方法的接口,都可以使用lambda表达式的写法

studio 版本:

3.1.3

 

一、添加依赖:

1.在根目录   build.gradle 中添加 

dependencies {

    ...

    classpath 'me.tatarka:gradle-retrolambda:3.2.5'

}

 

2.在app下 build.gradle 中添加

android {

    ...

    compileOptions{

 

        sourceCompatibility org.gradle.api.JavaVersion.VERSION_1_8

        targetCompatibility org.gradle.api.JavaVersion.VERSION_1_8

 

    }

}

 

 

 

二、首先是一些常规使用

//(1)线程

new Thread(

 

        //参数,然后指向实现

 

        (参数 ) -> { 实现 }

 

).start();

 

//(2)按钮

Button btn = (Button)findViewById(R.id.btn);

 

//方法参数可自动推断

btn.setOnClickListener((v)->{});

 

 

 

三、也可以自己写一个做测试

 

(1)先写一个接口类

package com.example.lambdatest;

 

public interface MyListener {

 

    //在内部定义一个需要在外边实现的接口

 

    String doSomething(String a , int b);

 

 

}

 

(2.1)在活动中单个实现

//)自定义单个接口去实现

MyListener listener = (a,b) ->{

 

    String result = a + b;

    return  result;

 

};

 

 

(2.2)把接口类作为参数来实现

public void  hello(MyListener listener){

 

    String a = "hello world";

    int b = 1024;

    String result = listener.doSomething(a,b);

 

    Log.d(TAG, result);

 

 

}

 

hello((a,b) -> {

 

    String result = a +b;

    return  result;

 

});

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值