广告
返回顶部
首页 > 资讯 > 移动开发 >使用 Lambda 取代 Android 中的匿名类
  • 603
分享到

使用 Lambda 取代 Android 中的匿名类

lambdaAndroid 2022-06-06 07:06:01 603人浏览 泡泡鱼
摘要

Lambda是第十一个希腊字母,大写Λ,小写λ,额,跑题了…Lambda表达式 是Java8的新特性之一: Lambda表达式 函数式接口 流api 默认方法

Lambda是第十一个希腊字母,大写Λ,小写λ,额,跑题了…Lambda表达式 是Java8的新特性之一:

Lambda表达式 函数式接口 流api 默认方法 新的Date Time API

Lambda表达式 取代了匿名类 ,取消了模板,允许用函数式风格编写代码。

由于最近接触了RxJava,遇到了Lambda,立马就喜欢上了~所以就学习了一下.

本文主要介绍一下Lambda在Android中替代匿名类的部分使用场景.

在Android中使用Lambda

gradle-retrolambda

A gradle plugin for getting java lambda support in java 6, 7 and android

在Android中使用我们需要使用这个插件,按照配置配置完就行.

实战使用

由于Lambda 可以取代匿名类,所以我们先来挑几个匿名类练练手.

这里先简单的提及一下Lambda的语法:() -> {}咋一看可能觉得这个什么鬼啊?看不懂啊!

不急,看几个例子先~

设置监听事件

Android中我们设置监听一般这么写:


mFab.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    doSomething();
   }
  });

这么写AS会提示说匿名类new View.OnClickListener()能被Lambda代替:

提示

那么用Lambda可以如何写呢?

mFab.setOnClickListener(v->doSomething());

看到了么?

整个匿名内部类被v->doSomething()给代替了.

是不是非常简单?

Ps: 本例子中的`v`代表onClick传递的参数v,参数不能省略,但是可以随意命名.

实现Runnable

在Android中我们起个线程一般这么写:


new Thread(new Runnable() {
   @Override
   public void run() {
    doSomething();
   }
  }).start();

而使用Lambda表达式的话可以这么写:

new Thread(() -> doSomething()).start();

另外实例化Runnable成员变量也可以这么写:

Runnable runnable = ()->doSomething();

看完这两个例子是否对Lambda感兴趣了呢?后续我还会继续学习,有兴趣的请继续关注~

您可能感兴趣的文章:Kotlin基础教程之伴生对象,getter,setter,内部,局部,匿名类,可变参数java 中使用匿名类直接new接口详解及实例代码Java中匿名类的两种实现方式java 内部类(匿名类,匿名对象,静态内部类)详解及实例PHP7匿名类用法分析全面了解Java中的内部类和匿名类深入讲解C#编程中嵌套类型和匿名类型的定义与使用详细解读c++编程中的匿名类类型和位域asp.net中实现根据匿名类、datatable、sql生成实体类Java通过匿名类来实现回调函数实例总结


--结束END--

本文标题: 使用 Lambda 取代 Android 中的匿名类

本文链接: https://www.lsjlt.com/news/23947.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用 Lambda 取代 Android 中的匿名类
    Lambda是第十一个希腊字母,大写Λ,小写λ,额,跑题了…Lambda表达式 是Java8的新特性之一: Lambda表达式 函数式接口 流API 默认方法 ...
    99+
    2022-06-06
    lambda Android
  • C++11中匿名函数lambda的使用详解
    目录一、lambda基础介绍二、lambda使用例子2.1 STL算法中的回调函数2.2 回调函数2.3 多线程编程三、总结官方介绍: C++ lambda是C++11新增的一种匿名...
    99+
    2023-05-18
    C++11匿名函数lambda使用 C++11匿名函数lambda C++11匿名函数
  • C++11中的lambda匿名函数怎么使用
    本篇内容主要讲解“C++11中的lambda匿名函数怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++11中的lambda匿名函数怎么使用”吧!lambda 源自希腊字母表中第 11 ...
    99+
    2023-07-04
  • C#中如何使用匿名类型
    这篇文章将为大家详细讲解有关C#中如何使用匿名类型,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。C#匿名类型在C#里有这样一些类型,它是作为临时储存数据的,生命周期只在这个方法内,方法结束了...
    99+
    2023-06-18
  • java 中匿名内部类的使用方法
    本篇文章为大家展示了java 中匿名内部类的使用方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。java 中匿名内部类的实例详解原来的面貌:  class TT extends...
    99+
    2023-05-31
    java 匿名内部类 ava
  • 浅析PHP7中匿名类的使用方法
    在PHP7之后,PHP中加入了匿名类的特性。匿名类和匿名方法让PHP成为了更现代化的语言,也让我们的代码开发工作越来越方便。下面本篇文章就来简单带大家了解一下PHP7 匿名类的用法,希望对大家有所帮助!匿名类就像一个没有事先定义的类,而在定...
    99+
    2022-08-08
    PHP7 php 匿名类
  • 如何使用内部和匿名类优化Java代码
    小编给大家分享一下如何使用内部和匿名类优化Java代码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java 1.1通过对Java语言规范进行修改,显著简化了一些...
    99+
    2023-06-03
  • 如何在java中使用匿名内部类
    本篇文章为大家展示了如何在java中使用匿名内部类,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;2. 面向对象...
    99+
    2023-06-14
  • Python中的lambda匿名函数和三元运算符怎么用
    这篇文章主要讲解了“Python中的lambda匿名函数和三元运算符怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中的lambda匿名函数和三元运算符怎么用”吧!匿名函数什...
    99+
    2023-06-30
  • JAVA匿名内部类(Anonymous Classes)的具体使用
    目录1.前言 2.匿名内部类 2.1 定义匿名内部类 2.2 匿名内部类的语法 3.访问作用域内的局部变量、定义和访问匿名内部类成员 4.匿名内部类实例 写在最后: 1.前言 匿名...
    99+
    2022-11-12
  • golang中使用匿名结构体的方法
    目录转化为map定义具名结构体定义匿名结构体在一些项目中, 我们会使用json 来将字符串转为结构体,但是很多时候,这种结构体只会用一次,基本上只会用于反序列化, 对于这种只用到一次...
    99+
    2022-11-11
  • Java中的函数怎么利用匿名类进行回调
    今天就跟大家聊聊有关Java中的函数怎么利用匿名类进行回调,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在C语言中,函数名可以当做函数指针传递给形参从而实现回调void f1() {...
    99+
    2023-05-31
    java 匿名类
  • Android开发中匿名设备标识符OAID使用及初始化
    目录ID说明 声明下载链接覆盖范围调用方法使用ID说明  设备唯一标识符(UDID):设备唯一硬件标识,设备生产时根据特定的硬件信息生成,可用于设备的生产环境及合...
    99+
    2022-11-13
  • PHP7中新增的匿名类:如何提高代码的灵活性和扩展性?
    PHP7中新增了匿名类的特性,这给开发者带来了更高的灵活性和扩展性。匿名类是指没有明确命名的类,可以在需要的地方即时定义,这样可以方便地使用类的功能而不必为其命名。匿名类在某些场景下特别有用,例如在回调函数、闭包以及单次使用的类的情况下。使...
    99+
    2023-10-22
    扩展性 匿名类 灵活性
  • 如何使用PHP7的匿名类实现更加灵活的单例模式?
    如何使用PHP7的匿名类实现更加灵活的单例模式?单例模式是一种常用的设计模式,它保证一个类只有一个实例,并且提供一个全局的访问点。在PHP中,实现单例模式通常使用静态变量和方法来保证只创建一个实例。然而,在PHP7中,我们可以使用匿名类来实...
    99+
    2023-10-22
    PHP 单例模式 匿名类
  • 如何使用PHP7的匿名类实现简单的单例设计模式?
    如何使用PHP7的匿名类实现简单的单例设计模式?在PHP开发中,单例设计模式被广泛应用于需要确保类的实例只存在一个的场景。而PHP7引入的匿名类使得实现单例模式变得更加简单和优雅。本文将介绍如何利用PHP7的匿名类来实现简单的单例设计模式,...
    99+
    2023-10-22
    PHP 匿名类 单例设计模式
  • Android Studio中使用lambda表达式的方法
    module的build.gradle里buildTypes中添加:compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility Jav...
    99+
    2023-05-31
    android studio lambda
  • jQuery如何使用匿名函数来产生一个独立的代码块
    这篇文章主要介绍jQuery如何使用匿名函数来产生一个独立的代码块,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用匿名函数来产生一个独立的代码块定义全局变量和函数是一种代码很粗糙的...
    99+
    2022-10-19
  • 如何使用PHP7的匿名函数和闭包增加代码的可复用性?
    如何使用PHP7的匿名函数和闭包增加代码的可复用性?在编程中,可复用性是一个非常重要的概念。它指的是代码可以被多次调用和重复使用的能力,能够提高代码的效率和可维护性。PHP7引入了匿名函数和闭包的概念,为开发者提供了更多的灵活性和功能。本文...
    99+
    2023-10-22
    PHP 闭包 匿名函数 可复用性
  • vbs中如何使用adox实现提取数据库表名和列名的类
    这篇文章主要介绍了vbs中如何使用adox实现提取数据库表名和列名的类,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。<!--#include virtual=...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作