当前位置: 首页 > news >正文

JAVA基础:Lambda表达式(上)

前言

Lambda表达式是jdk1.8的一个新特性,他属于一种语法堂主要作用是对匿名内部类语法简化

lambda基本应用

lambda表达式想要优化匿名内部类是有前提条件,首先必须是一个接口,而且要求接口中只能有1个抽象方法,称之为函数式接口

interface C{void t1();
}C c1 = new C(){public void t1(){System.out.println("--------------");}
}C c2 = ()->{System.out.println("-----------------");} ;

lambda语法细节

参数列表中可以省略参数类型

interface A{void t1(int num1 ,int num2) ;
}
A a1 = (int num1, int num2)->{}
A a2 = (num1,num2) -> {}

参数列表中只有一个参数,可以省略()

interface A{void t1(int num) ;
}A a1 = (num)->{}
A a2 = num->{}

参数列表中没有参数时,必须保留()

interface A{void t1();
}
A a = ()->{};

如果方法体中只有一行代码,可以省略{}

interface A{void t1();
}
A a1 = ()->{System.out.println("A");};
A a2 = ()->System.out.println("A");

如果方法需要返回值,但方法体中只有一行代码,可以省略{}和return关键字

interface A{int t1();
}A a1 = ()->{return 100 ;} ;
A a2 = ()-> 100 ;

如果方法体中有多行代码, {}和return关键字都不能省略

interface A{int t1();
}A a1 = ()->{int num = 10 ;return nun ;
}

http://www.lryc.cn/news/433929.html

相关文章:

  • Vue使用fetch获取本地数据
  • 《酒饮真经》秘籍4,让你的酒场技巧更上一层楼!
  • 回车符与快捷键记录
  • 计算机网络-VRRP工作原理
  • 6.5椒盐噪声
  • CSS样式的引用方式以及选择器使用
  • Python Flask_APScheduler定时任务的正确(最佳)使用
  • Linux命名管道
  • Xinstall助力App全渠道统计,参数传递下载提升用户体验!
  • 【时时三省】(C语言基础)指针进阶 例题4
  • k8s的配置管理
  • JAVA- 多线程
  • 【Qt】解决设置QPlainTextEdit控件的Tab为4个空格
  • elementUI根据列表id进行列合并@莫成尘
  • 基于人工智能的智能安防监控系统
  • 分享从零开始学习网络设备配置--任务6.3 使用基本ACL限制网络访问
  • 数据结构——线性表(静态链表、循环链表以及双向链表)
  • vue3_对接腾讯_实时音视频
  • 一台电脑对应一个IP地址吗?‌探讨两台电脑共用IP的可能性
  • XInput手柄输入封装
  • NodeMCU-ESP8266+flash_download_tool_3.9.7 烧录
  • 首例开源的自动驾驶混合运动规划框架,手握“规划可解释”和“决策准确”两张王牌!
  • 数据结构之红黑树的 “奥秘“
  • 【鸿蒙 HarmonyOS NEXT】使用EventHub进行数据通信
  • 大模型RAG实战|构建知识库:文档和网页的加载、转换、索引与存储
  • 江协科技stm32————11-5 硬件SPI读写W25Q64
  • 网络编程day04(UDP、Linux IO 模型)
  • 【android10】【binder】【2.servicemanager启动——全源码分析】
  • Java实现简易计算器功能(idea)
  • Parsec问题解决方案