java中的ackerman_java8的函数式接口
函数式接口
就是在java8里允许你为一个接口(只有一个实现的,声明为FunctionalInterface注解的)实现一个匿名的对象,大叔感觉它与.net平台的委托很类似,一个方法里允许你接收一个方法签名,这个方法在一个声明为FunctionalInterface的接口里,并且它是接口里唯一的方法。
java框架里也在用它
在我们的java框架里,很多地方在用函数式接口,下面的线程类的部分代码
@FunctionalInterface
public interface Runnable {
/**
* When an object implementing interface Runnable
is used
* to create a thread, starting the thread causes the object's
* run
method to be called in that separately executing
* thread.
*
* The general contract of the method run
is that it may
* take any action whatsoever.
*
* @see java.lang.Thread#run()
*/
public abstract void run();
}
事实上,在外部需要使用Runnable的实例时,可以直接构建一个匿名对象,像下面的代码是合法的
super.periodicCheck(new PassableRunnable() {
private boolean passed = false;
@Override
public boolean isPassed() {
return passed;
}
@Override
public void run() {
System.out.println("test async task");
passed = true;
}
});
下面是大叔在单元测试里写的一段实例代码,供大家学习和参考
@Test
public void testMethodFunction() {
java8Fun(new Run() {
@Override
public void print() {
System.out.println("类似.net里的委托!");
}
});
}
public void java8Fun(Run run) {
System.out.println("执行java8函数式接口");
run.print();
}
@FunctionalInterface
interface Run {
void print();
}
java中的ackerman_java8的函数式接口相关推荐
- 提高Java表达能力!不落伍一起掌握Java8中Lambda表达式、函数式接口及方法构造器数组引用
文章目录 函数式接口概述 函数式接口示例 内置函数式接口 Lambda简述 Lambda语法 方法引用 构造器引用 数组引用 函数式接口概述 只包含一个抽象方法的接口,称为函数式接口. 可以通过 La ...
- comparator接口_8000字长文让你彻底了解 Java 8 的 Lambda、函数式接口、Stream 用法和原理
我是风筝,公众号「古时的风筝」.一个兼具深度与广度的程序员鼓励师,一个本打算写诗却写起了代码的田园码农! 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在 ...
- JDK8中的新特性——函数式接口
JDK8 简介 概述 Java 8由Oracle从2014年3月18日发布,此版本是自Java 5(发布于2004年)之后的一个重量级版本,也是java发展史上的一个里程碑式的版本.这个版本在JVM. ...
- Java 内置核心四大函数式接口
在java.util.function包内 , 有Java 内置核心四大函数式接口,可以使用lambda表达式 1.函数型接口(有一个输入,有一个输出) public class Demo1 {pub ...
- Java基础之四大核心函数式接口简单使用
其实为了更好的使用lamda表达式,java在jdk1.8之后也添加了内置四大核心的函数式接口.什么是函数式接口以及lambda表达式可以看前面一篇 地址 Java内置的四大核心函数式接口如下: 函数 ...
- Java -Stream流和常见函数式接口
概念 流(Stream)与集合类似,但集合中保存的是数据,而Stream中保存对集合或数组数据的操作. 特点 tream 自己不会存储元素. Stream 不会改变源对象.相反,他们会返回一个持有结果 ...
- Java新特性:Java8函数式接口与Lambda表达式(一)
摘要 何为函数式接口? 什么是lambda表达式,lambda表达式的本质: 函数式接口与lambda表达式的联系:lambda是实现函数式接口的一个快捷方式,可以作为函数式接口的一个实例: 常用Ja ...
- java中io流实现哪个接口_第55节:Java当中的IO流-时间api(下)-上
标题图 Java当中的IO流(下)-上日期和时间日期类:java.util.Date 系统时间:long time = System.currentTimeMillis();public class ...
- Android+Java中使用RSA加密实现接口调用时的校验功能
场景 RSA加密 RSA算法是一种非对称加密算法,那么何为非对称加密算法呢? 一般我们理解上的加密是这样子进行的:原文经过了一把钥匙(密钥)加密后变成了密文,然后将密文传递给接收方,接收方再用这把钥匙 ...
最新文章
- RabbitMQ 简介以及使用场景
- http://www.raytracegroundup.com/downloads.html 对该页的翻译。
- linux go 安装
- 深度学习到底有多难?掌握方法很重要!
- Java中的String类
- Chip Factory HDU - 5536
- calayer 与uiview
- V210 UART TX 流程
- python 单例模式的四种实现方法
- 第48课 加加乐 《小学生C++趣味编程》
- 【C/C++】知识点
- thisisunsafe的神奇之chrome浏览器打不开不安全的https网页
- finecms存在任意文件上传漏洞复现
- ES6 Symbol基本用法
- php 数字转换英文,PHP将英文数字转换为阿拉伯数字
- VSCode选中变量高亮颜色及注释颜色更改
- 基于 Docker 的 Slurm 作业管理系统
- 【SLAM】视觉SLAM:一直在入门,从未到精通
- 神经风格转移:Anaconda快速搭建DL框架学梵高(Van Gogh)绘画Ubuntu16.04 CPUGPU版
- 理解BPDU Guard的意义(BPDU Guard在全局配置与接口配置上的区别)
热门文章
- 【BZOJ4517】排列计数,组合数+错排
- 二叉树C++ | 实现删除节点_4
- bzoj1069 [SCOI2007]最大土地面积 凸包+单调性
- 【英语学习】【WOTD】smithereens 释义/词源/示例
- Intel Sandy Bridge/Ivy Bridge架构/微架构/流水线 (17) - 互联环路LLC
- vue一级分类和耳机分类_微服务项目第13天:商品分类业务的实现
- 电脑能玩和平精英吗_电脑玩和平精英灵敏度这样设置更流畅,还能匹配手机
- VS2005、VS2010等VS系列IDE在MFC开发过程中,Resource View标签打不开,问题为“opened in other editor”
- java swing双缓冲_java中的双缓冲技术
- python怎么制作游戏图片_【图片】从0开始学用Python做游戏的全过程【精品贴】(不定期更新)【python吧】_百度贴吧...