返回顶部
首页 > 资讯 > 移动开发 >使用 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://lsjlt.com/news/23947.html(转载时请注明来源链接)

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

猜你喜欢
  • 使用 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
  • python如何使用匿名函数lambda
    这篇文章主要介绍python如何使用匿名函数lambda,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!匿名函数 lambda所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。lambda 只是一个表达式...
    99+
    2023-06-03
  • Python匿名函数lambda的用法
    本篇内容主要讲解“Python匿名函数lambda的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python匿名函数lambda的用法”吧!Python内置了多个关键字,今天我们来介绍下其...
    99+
    2023-06-02
  • PHP 中的匿名类
    本篇文章介绍 PHP 中的匿名类,并演示如何使用不同的代码示例创建和使用这些类。 我们还将学习如何在 PHP 中嵌套匿名类。 PHP 匿名类 顾名思义,匿名类 就是没有名字的类。 PHP 7 ...
    99+
    2024-02-27
  • C#中如何使用匿名类型
    这篇文章将为大家详细讲解有关C#中如何使用匿名类型,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。C#匿名类型在C#里有这样一些类型,它是作为临时储存数据的,生命周期只在这个方法内,方法结束了...
    99+
    2023-06-18
  • Python浅析匿名函数lambda的用法
    目录lambda函数的定义   Lambda函数在Python中lambda函数的定义    lambda函数是Pytho...
    99+
    2024-04-02
  • 浅析PHP7中匿名类的使用方法
    在PHP7之后,PHP中加入了匿名类的特性。匿名类和匿名方法让PHP成为了更现代化的语言,也让我们的代码开发工作越来越方便。下面本篇文章就来简单带大家了解一下PHP7 匿名类的用法,希望对大家有所帮助!匿名类就像一个没有事先定义的类,而在定...
    99+
    2022-08-08
    PHP7 php 匿名类
  • java 中匿名内部类的使用方法
    本篇文章为大家展示了java 中匿名内部类的使用方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。java 中匿名内部类的实例详解原来的面貌:  class TT extends...
    99+
    2023-05-31
    java 匿名内部类 ava
  • C#中的匿名函数、lambda表达式解读
    目录C# 匿名函数、lambda表达式、Linq查询一、匿名函数的使用二、lambda表达式总结C# 匿名函数、lambda表达式、Linq查询 一、匿名函数的使用 匿名函数是一个&...
    99+
    2023-01-28
    C#匿名函数 C# lambda表达式 C# lambda
  • 如何在java中使用匿名内部类
    本篇文章为大家展示了如何在java中使用匿名内部类,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;2. 面向对象...
    99+
    2023-06-14
  • Java匿名内部类和Lambda(->)的多种写法总结
    引入: 最近使用到 Arrays.sort(); 看了他的重载方法(试着模仿一下) 就以这个玩出了许多的方式;如下:自定义排序 首先 写了个冒泡排序(备用) //给一个inte...
    99+
    2024-04-02
  • 如何使用内部和匿名类优化Java代码
    小编给大家分享一下如何使用内部和匿名类优化Java代码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java 1.1通过对Java语言规范进行修改,显著简化了一些...
    99+
    2023-06-03
  • 如何使用Linq Lambda表达式替换匿名方法
    小编给大家分享一下如何使用Linq Lambda表达式替换匿名方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Linq Lambda表达式Linq Lambda表达式是一种语言功能,在许多方面类似于匿名方法。事实上,如果...
    99+
    2023-06-17
  • Java匿名内部类怎么使用
    这篇文章主要介绍“Java匿名内部类怎么使用”,在日常操作中,相信很多人在Java匿名内部类怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java匿名内部类怎么使用”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-22
  • Python 中的lambda匿名函数和三元运算符
    目录匿名函数什么是匿名函数分类三元运算符匿名函数 什么是匿名函数 用一句话表达只有返回值的函数就是匿名函数。匿名函数只用来实现一些简单的函数功能,所以追求代码的简洁和高效。使用关键字...
    99+
    2024-04-02
  • C#匿名函数和匿名方法的使用
    目录匿名函数的语法 C# 匿名函数使用场景在 C# 中,可以将匿名函数简单的理解为没有名称只有函数主体的函数。匿名函数提供了一种将代码块作为委托参数传递的技术,它是一个&l...
    99+
    2023-05-14
    C#匿名函数和匿名方法 C# 匿名函数
  • Lambda 的隐秘世界:探索 Java 中的匿名函数
    语法和结构 Lambda 表达式采用以下语法: (parameters) -> expression 其中: parameters:类似于方法参数,表示 Lambda 接受的输入。 ->:lambda 运算符,将参数与表达式...
    99+
    2024-04-02
  • Python中的lambda匿名函数和三元运算符怎么用
    这篇文章主要讲解了“Python中的lambda匿名函数和三元运算符怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中的lambda匿名函数和三元运算符怎么用”吧!匿名函数什...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作