1.

首先提供User类

public class User {

    private int id;
private String name; public User(int id, String name) {
this.id = id;
this.name = name;
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} }

创建UserFactory 作为User的工厂类,是一个函数式接口

import java.util.ArrayList;
import java.util.List; public class ConstrMethodRef { @FunctionalInterface
interface UserFactory<U extends User>{
U create(int id, String name);
} static UserFactory<User> uf = User::new; public static void main(String[] args) { List<User> users = new ArrayList<User>();
for(int i=0; i<10; i++) {
users.add(uf.create(i, "billy" + Integer.toString(i)));
}
users.stream().map(User::getName).forEach(System.out::println); } }

在创建UserFactory实例后,对UserFactory.create()的调用,都会委托给User的实际构造函数进行,从而创建User对象实例。

最新文章

  1. Android Studio 快捷键
  2. 关于git的学习
  3. 如何给ZenCart网站livezilla客服系统?
  4. mybatis新增数据后获取自增主键
  5. java基础-jdbc——三种方式加载驱动建立连接
  6. db2常用名词
  7. highcharts 饼图显示数据比例如何保留二位小数
  8. &lt;php&gt;PDO用法二
  9. PHP开发微信模版消息换行的问题
  10. 图解java中的bytebuffer
  11. why?
  12. 学习 Spring (十六) AOP API
  13. python 接口自动化测试(五)其他-认证&amp;代理&amp;超时配置
  14. 购物车存到cookie
  15. LeetCode 973 K Closest Points to Origin 解题报告
  16. 2015.4.21第一篇cnblog文章
  17. java后台技术
  18. Doxygen自动文档生成工具在Eclipse中的集成及使用举例
  19. JDK1.8源码Collections
  20. 001_shell经典案例

热门文章

  1. js中this.index使用
  2. dict 小习题
  3. Codeforces 1215D. Ticket Game
  4. 2-Elasticsearch原理
  5. 21个CSS3 / JS 时钟
  6. (转)linux chattr lsattr 命令
  7. PHP WEB 引擎缓存加速优化
  8. Nginx Windows下安装使用及权重分配
  9. samba服务及vsftpd服务
  10. CentOS 基础命令