我的编程空间,编程开发者的网络收藏夹
学习永远不晚

lambda 的入门详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

lambda 的入门详解

  1.为什么用lambda

  简化我们的操作

  举个例子

  创建一个线程

  new Thread(new Runnable() {

  @Override

  public void run() {

  System.out.println("hh");

  }

  }).start();

  以前我们快速创建一个线程要这样

  现在用lambda

  new Thread(()-> System.out.println("lambda-->hh")).start();

  一个更重要的原因是Java 以后为了更好的函数式编程

  2.lambda怎么用

  2.1 lambda的使用场景

  lambda只能用在函数式接口,函数式接口就是一个接口里面只有一个抽象方法

  * @author Arthur van Hoff

  * @see java.lang.Thread

  * @see java.util.concurrent.Callable

  * @since JDK1.0

  */

  @FunctionalInterface

  public interface Runnable {

  

  public abstract void run();

  }

  可以通过@FunctionalInterface来表示是一个函数式接口

  Java 为我们创建了很多常用的函数式接口,不用我们一个一个来创建

  四大内置函数式接口

  Consumer< T > 消费性 接口: void accept(T t);

  Supplier< T > 供给型接口 : T get();

  Function< T , R > 函数式接口 : R apply (T t);

  Predicate< T > 断言形接口 : boolean test(T t);

  2.2 使用

  (参数)->{方法体}

  new Thread(()-> { System.out.println("lambda-->hh");}).start();

  其实到这就可以熟练的用lambda,但是它还能简化,你说气不气=。=

  1.一个参数时可省略()

  Consumer consumer = x -> System.out.println(x);

  consumer.accept("1个参数省略()");

  2.方法体只有一条语句省略{}

  == 不管它是否需要有返回值==

  Function function= x-> x;

  Integer apply = function.apply(1);

  System.out.println(apply);

  3.类型推断

  lambda 表达式的参数类型可省略不写

  聪明的你肯定发现了为什么参数 不需要写类型,为什么不需要,Java会根据泛型来推断

  你也可以指定参数的类型,但是没必要

  Consumer consumer = (String x) -> System.out.println(x);

  3.方法引用

  System.out.println("呼呦呦");

  public void println(String x) {

  synchronized (this) {

  print(x);

  newLine();

  }郑州人流医院哪家好 http://mobile.zhongyuan120.com/

  }

  println是一个参数没有返回

  这和Consumer 消费者接口很符合啊,下面这样写可不可以简化啊(就nm事多)

  Consumer consumer = x -> System.out.println(x);

  简化版

  Consumer consumer1 = System.out::println;

  方法引用 参数与返回值需要一致

  

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

lambda 的入门详解

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

下载Word文档

猜你喜欢

lambda 的入门详解

  1.为什么用lambda  简化我们的操作  举个例子  创建一个线程  new Thread(new Runnable() {  @Override  public void run() {  System.out.println("
2023-06-02

SELinux 入门详解

回到 Kernel 2.6 时代,那时候引入了一个新的安全系统,用以提供访问控制安全策略的机制。这个系统就是 Security Enhanced linux (SELinux),它是由美国国家安全局(NSA)贡献的,它为 Linux 内核子
2022-06-04

Anaconda入门详解

Anaconda简介Anaconda是一个免费开源的Python和R语言的发行版本,用于计算科学(数据科学、机器学习、大数据处理和预测分析),Anaconda致力于简化包管理和部署。Anaconda的包使用软件包管理系统Conda进行管理。
2023-01-31

Hbase入门详解

1、hbase概述 1.1 hbase是什么 hbase是基于hdfs进行数据的分布式存储,具有高可靠、高性能、列存储、可伸缩、实时读写的nosql数据库。 hbase可以存储海量的数据,并且后期查询性能很高,可以实现上亿条数据的查询秒级返
2022-06-04

一分钟入门Python Lambda表达式:从入门到精通

Python Lambda 表达式是一种简短、匿名的函数,可以用来代替常规函数。Lambda 表达式通常用于需要一次性传递函数的地方,例如在过滤器、映射和 reduce 函数中。
一分钟入门Python Lambda表达式:从入门到精通
2024-02-09

Java之MyBatis入门详解

这篇文章主要介绍了Java之MyBatis入门详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-12-21

Python入门教程(二十)Python的Lambda表达式

这篇文章主要介绍了Python入门教程(二十)Python的Lambda表达式,lambda表达式是一行的函数。它们在其他语言中也被称为匿名函数,lambda表达式非常有用,可以让代码简单,简洁,需要的朋友可以参考下
2023-05-17

Android入门之Service的使用详解

我们的Android在启动一些长事务时都会使用异步,很多初学者觉得这个异步就是一个异步线程+Handler而己。如果你这么想就错了。这一切其实靠的正是Android里的Service。本文就来和大家聊聊Service的生命周期和使用,需要的可以参考一下
2022-12-08

Android入门之bindService的用法详解

indService大家可以认为它是和Android的一个共生体。即这个service所属的activity如果消亡那么bindService也会消亡。本文将通过简单的例子带大家了解一下bindService的用法,感兴趣的可以了解一下
2022-12-08

详解Linx awk 入门教程

awk是处理文本文件的一个应用程序,几乎所有 linux 系统都自带这个程序。 它依次处理文件的每一行,并读取里面的每一个字段。对于日志、CSV 那样的每行格式相同的文本文件,awk可能是最方便的工具。awk其实不仅仅是工具软件,还是一种编
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录