java函数式编程之Supplier
描述:Supplier< T>接口没有入参,返回一个T类型的对象,类似工厂方法。
源码:
public interface Supplier<T> {
/**
* Gets a result.
*
* @return a result
*/
T get();
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
测试代码:
@Test
public void test(){
Supplier<User> supplier = ()->new User();
User user = supplier.get();
logger.info(user.toString());
logger.info(supplier.get().toString());
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
测试结果:
十二月 25, 2016 9:55:46 上午 com.zm.demo.SuppierTest test
信息: com.zm.entity.User@1963006a
十二月 25, 2016 9:55:46 上午 com.zm.demo.SuppierTest test
信息: com.zm.entity.User@6d9c638
- 1
- 2
- 3
- 4
可以看出调用一次返回一个对象
java函数式编程之Supplier的更多相关文章
- java函数式编程之lambda表达式
作为比较老牌的面向对象的编程语言java,在对函数式编程的支持上一直不温不火. 认为面向对象式编程就应该纯粹的面向对象,于是经常看到这样的写法:如果你想写一个方法,那么就必须把它放到一个类里面,然后n ...
- java函数式编程之Consumer
参考https://blog.csdn.net/z345434645/article/details/53794724 https://blog.csdn.net/chuji2012/article/ ...
- Java并发编程之CAS
CAS(Compare and swap)比较和替换是设计并发算法时用到的一种技术.简单来说,比较和替换是使用一个期望值和一个变量的当前值进行比较,如果当前变量的值与我们期望的值相等,就使用一个新值替 ...
- Python函数式编程之map()
Python函数式编程之map() Python中map().filter().reduce()这三个都是应用于序列的内置函数. 格式: map(func, seq1[, seq2,…]) 第一个参数 ...
- Java网络编程之TCP、UDP
Java网络编程之TCP.UDP 2014-11-25 15:23 513人阅读 评论(0) 收藏 举报 分类: java基础及多线程(28) 版权声明:本文为博主原创文章,未经博主允许不得转载. ...
- Java网络编程之UDP
Java网络编程之UDP 一.C/S架构中UDP网络通信流程 ①创建DatagramSocket与DatagramPacket对象 ②建立发送端,接收端 ③建立数据包 ④调用Socket的发送.接收方 ...
- Java网络编程之URLConnection
Java网络编程之URLConnecton 一.URLConnection简介 URLConnection是一个抽象类,表示指向URL指定资源的活动连接.URLConnection有两个不同但相关的用 ...
- Java网络编程之URL和URI
Java网络编程之URL与URI 一.URL与URI简介 URI = Universal Resource Identifier 统一资源标志符 URL = Universal Resource Lo ...
- Java网络编程之InetAddress浅析
Java网络编程之InetAddress浅析 一.InetAddress综述 IP地址是IP使用的32位(IPv4)或者128位(IPv6)位无符号数字,它是传输层协议TCP,UDP的基础.InetA ...
随机推荐
- java多线程面试题小结
http://www.importnew.com/12773.html http://www.cnblogs.com/fingerboy/p/5352880.html https://blog.csd ...
- 2017 ACM/ICPC(北京)总结
这个季节的,北京真的很冷. 下午的热身赛,我依然先去敲一道搜索题,但是很不幸这道搜索题坑点还是蛮多的,浪费了好长时间后依然没能A掉,期间Codeblocks崩溃一次使得代码完全丢失,在队友的建议下便暂 ...
- shell编程 之 实践出真知(代码实例)
1,在任意一个文件夹里,新建10个空文件,文件名为t1.txt-t10.txt ,文件内容分别是11-20 ,就一行,然后把这个10个文件命名成t1.sh-t10.sh. 老司机版: $ for (( ...
- classpath和classpath*的区别
classpath 指的是自己项目里的编译后的class路径 classpath* 包含jar包里面的class路径
- Netty实现简单私有协议
本文参考<Netty权威指南> 私有协议实现的功能: 1.基于Netty的NIO通信框架,提供高性能异步通信能力 2.提供消息的编码解码框架,实现POJO的序列化和反序列化 3.提供基于I ...
- 动态规划 - 213. House Robber II
URL: https://leetcode.com/problems/house-robber-ii/ You are a professional robber planning to rob ho ...
- 用Vue实现状态列表的操作涵盖所有的知识点
用Vue实现状态列表的操作涵盖所有的知识点
- 高效获得Linux函数调用栈/backtrace的方法【转】
转自:https://blog.csdn.net/littlefang/article/details/42295803 有四种方法可以获得Linux的函数调用堆栈,参见CALL STACK TRAC ...
- DevExpress VCL 的 cxDBTreeList 的使用方法
DevExpress VCL 的 cxDBTreeList 的使用方法:(假设控件名为: WBSTree) 1.控件WBSTree 通过绑定 DataSet 获取数据记录(Nodes),通过 Col ...
- NUMA的取舍与优化设置【转】
NUMA的取舍与优化设置 在os层numa关闭时,打开bios层的numa会影响性能,QPS会下降15-30%; 在bios层面numa关闭时,无论os层面的numa是否打开,都不会影响性能. 安装n ...