java中lambda表达式的应用
lambda表达式
Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法)
使用 Lambda 表达式可以使代码变的更加简洁紧凑。
语法格式:
(parameters) -> expression
或
(parameters) ->{ statements; }
常见应用:四大核心函数接口
有参无返回值 Consumer
无参有返回值 Supplier
有参有返回值 Function
断言式接口 Predicate
实例有两种形式:
形式一:
public static void test1(){ //断言型Predicate<Integer> p = (num) -> num<10;System.out.println(p.test(100));}public static void test2(){ //消费型Consumer<String> c = x -> System.out.println(x+"吃");c.accept("小鸡");}public static void test3(){ //供给型Supplier<Integer> w = () -> (int)(Math.random()*900);System.out.println(w.get());}public static void test4(){ //函数型Function<String,Integer> f = (x) -> (int)(Math.random()*900);System.out.println(f.apply("444"));}
形式二:
public static String upper( Function<String,String> f,String str){return f.apply(str);}public static void test4_1(){ //第二种形式upper(x->x.toUpperCase(),"hello");public static Integer random( Supplier<Integer> w){return w.get();}public static void test3_1(){int i = random(()->(int)(Math.random()*900));System.out.println(i);}}
java中lambda表达式的应用相关推荐
- Java中Lambda表达式和stream的使用
Java中Lambda表达式和stream的使用 转自 [*https://www.cnblogs.com/franson-2016/p/5593080.html*] 简介 (译者注:虽然看着很先进, ...
- Java中Lambda表达式使用及详解
Java中Lambda表达式使用及详解 前言 一.Lambda表达式的简介 Lambda表达式(闭包):java8的新特性,lambda运行将函数作为一个方法的参数,也就是函数作为参数传递到方法中.使 ...
- Java中Lambda表达式的使用
目录 1 简介 2 Lambda表达式的组成 2.1 Lambda表达式的函数式接口 2.2 对接口的要求 3 Lambda使用 3.1 基本使用 3.2 使用Lambdas和Streams 4 ...
- Java中lambda表达式去重_JAVA8中Lambda和Stream
Java8于2014年3月份发布,其主要更新的特性有:函数式接口.Lambda 表达式.集合的流式操作.注解的更新.安全性的增强.IO\NIO 的改进.完善的全球化功能等,本文将介绍Lambda表达式 ...
- Java中Lambda表达式的使用(转)
https://www.cnblogs.com/franson-2016/p/5593080.html 简介 (译者注:虽然看着很先进,其实Lambda表达式的本质只是一个"语法糖" ...
- Java中Lambda表达式使用前提及省略规则
Lambda标准格式 Lambda格式由3个部分组成: 参数 箭头 代码 Lambda表达式的标准格式为: (参数类型 参数名称) ‐> { 代码语句 } 格式说明 ...
- Java中Lambda表达式与方法引用和构造器引用
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/cjhc666/article/deta ...
- Java中Lambda表达式
Lambda表达式想必大家都不陌生,jdk8的新特性,Lambda表达式需要函数式接口的支持,所谓函数式接口就是只有一个方法的接口,可以通过注解@FunctionalInterface来检查该接口是否 ...
- java lambda 变量_为什么Java中lambda表达式不能改变外部变量的值,也不能定义自己的同名的本地变量呢?...
你问的问题在 Project Lambda 的概述文档上已经解释了,这都属于设计上的取舍. 不能改变外部变量的值是因为线程安全问题.当然这可能不是唯一原因,可能有其他考虑,但文档上清清楚楚说明了:Wh ...
最新文章
- 开发者进阶宝典,HarmonyOS 职业认证全奉上
- excel 2010 学习笔记一 Vlookup 函数的使用
- remap(地址重映射)机制
- Fedora配置网络DHCP
- 不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况...
- EntityFramework中常用的数据删除方式
- [jQuery基础] jQuery动效案例(一) -- 弹窗广告、对联广告
- libjpeg-turbo在Windows VS2010下的编译
- spark写出分布式的训练算法_Spark0.9分布式运行MLlib的线性回归算法
- linux telnet 127.0.0.1 不通,Linux 出现telnet: 127.0.0.1: Connection refused错误解决办法
- 编程控制网卡启用停用vbs版
- 前端框架 — Bootstrap
- html效果浮窗效果,网页浮窗成效
- 百度地图绘制运动轨迹技巧
- 经典递归算法之Fibonacci序列
- 计算机组成原理学习-实验一 运算器实验(详细、系统)
- MATLAB矩阵的基本运算及操作
- 后LHC时代对撞机:瞬间输出能量超全球电力千倍
- 中华英才网 java_中华英才网校园招聘
- 给定一个数组int[] array={1,2,3,4,5,6,7,8,9,10}.将其前5个元素与后5 个元素对换,即第1 个元素与第10个元素互换,第2个与第9个元素互换...第5 个与第6 个元素