Lambda定义

Lambda表达式是java8中新引入的特色功能。Lambda表达式本质上是一种匿名方法,它既没有方法名,也既没有访问修饰符和返回类型,使用它来编写代码将会更加简洁,也更加易读。

Android中使用Lamdda表达式的配置

需要在app/build.gradle中添加如下配置:

android{       ...       defaultConfig{           ...           jackOptions.enabled=true       }       compileOptions{           sourceCompatibility JavaVersion.VERSION_1_8           targetCompatibility JavaVersion.VERSION_1_8       }       ...   }

通过代码实例分析Lambda使用规则

  • 代码实例1
new Thread(new Runable(){    @Override    public void run(){    }}).start();//使用Lambda表达式写法new Thread(() ->{}).start();

说明:只有一个待实现方法的接口,可以使用Lambda表达式

  • 代码实例2
public interface MyListener{    String doSomething(String a,int b);}MyListener listener=new MyListener(String a,String b){    String result=a+b;    return result;}//使用Lambda表达式写法MyListener listener=(String a,String b) ->{    String result=a+b;    return result;}

说明:Lambda表达式创建MyListener接口的匿名实现方法,方法中的参数直接写在括号中就可以。

  • 代码实例3
public interface MyListener{    String doSomething(String a,int b);}MyListener listener=new MyListener(String a,String b){    String result=a+b;    return result;}//使用Lambda表达式写法MyListener listener=( a, b) ->{    String result=a+b;    return result;}

说明:除了实例2中的写法,java还可以自动推断出参数a是String类型,参数b是int类型,这样参数类型都可以不用写了。这是两个参数,当只有一个参数的时候,括号也可以去掉。

Android实际开发中的应用

  • 接口的实现

    上面实例中已有提到。

  • 按钮点击事件

//传统按钮点击事件button.setOnClickListener(new View.OnClickListener(){   @Override   public void onClick(View v){   }});//使用Lambda表达式之后button.setOnClickListener(v ->{});

总结

以上是Lambda表达式的基本使用,是不是感觉不错,精简。大家看完快去使用吧

更多相关文章

  1. AIDL实例分析和讲解
  2. Android常用实例—Alert Dialog的使用
  3. android中Activity传递参数之onActivityResult
  4. Android的Activity加载方式实例分析
  5. android正则表达式匹配中文正解
  6. Android中Json应用实例介绍
  7. [置顶] 我的Android进阶之旅------>Android Service学习之AIDL,
  8. 实例收藏Android开发环境搭建和Android开发基础知识汇总值得收藏

随机推荐

  1. 史上最全!押题率90%的 Android(安卓)中高
  2. Android(安卓)colors.xml (颜色大全)
  3. Android Activity去除标题栏和状态栏
  4. android摄像头采集和预览-第二种方法
  5. android textView加边框
  6. xarmain使用Forms编译android工程出现sup
  7. 2013.04.03——— android 图片缓存之二L
  8. Android(安卓)AbsListView
  9. Android Shape关键字意思
  10. Android开发由eclipse转Android Studio中