java8的lambda表达式,将List<DTO> 转为 List<DO>
将List<PhoneDTO>转为List<PhoneDO>,通过java8的lambda表达式来操作,比传统的for循环精简很多:
/**
* List<PhoneDTO> 转为 List<PhoneDO>
* @param paramList
* @return
*/
public static List<PhoneDO> phoneDTOList2PhoneDOList1(List<PhoneDTO> paramList) {
if (CollectionUtils.isEmpty(paramList)) {
return null;
} // 获取stream流,map进行映射操作,调用PhoneUtil类的phoneDTO2PhoneDO方法
List<PhoneDO> phoneDOList = paramList.stream().map(PhoneUtil::phoneDTO2PhoneDO)
// filter过滤:满足条件的才保留
.filter(obj -> !Objects.isNull(obj))
// 排序:传入比较器
.sorted(Comparator
.comparing(phoneDTO -> (-) * phoneDTO.getCreateTimestamp()))
// 将最终的结果收集到一个List中
.collect(Collectors.toList());
return phoneDOList;
}
PhoneUtil类的phoneDTO2PhoneDO方法:
/**
* PhoneDTO 转为 PhoneDO
* @param param
* @return
*/
public static PhoneDO phoneDTO2PhoneDO(PhoneDTO param) {
if (null == param) {
return null;
} PhoneDO result = new PhoneDO();
BeanUtils.copyProperties(param, result);
return result;
}
java8的lambda表达式,将List<DTO> 转为 List<DO>的更多相关文章
- Java8中Lambda表达式的10个例子
Java8中Lambda表达式的10个例子 例1 用Lambda表达式实现Runnable接口 //Before Java 8: new Thread(new Runnable() { @Overri ...
- java8的lambda表达式
关于java8的lambda表达式 lambda表达式一般用于接口,因为lambda表达式是函数式编程. 1.有且仅有一个抽象方法被称为函数式接口,函数式接口可以显示的被@FunctionalInte ...
- java8中lambda表达式的应用,以及一些泛型相关
语法部分就不写了,我们直接抛出一个实际问题,看看java8的这些新特性究竟能给我们带来哪些便利 顺带用到一些泛型编程,一切都是为了简化代码 场景: 一个数据类,用于记录职工信息 public clas ...
- java8之lambda表达式(1)-基本语法
lambda表达式,即带有参数的表达式,为更清晰地理解lambda表达式,先看如下例子: (1) class Student{ private String name; private Double ...
- java8之lambda表达式入门
1.基本介绍 lambda表达式,即带有参数的表达式,为了更清晰地理解lambda表达式,先上代码: 1.1 两种方式的对比 1.1.1 方式1-匿名内部类 class Student{ privat ...
- JAVA8之lambda表达式具体解释,及stream中的lambda使用
前言: 本人也是学习lambda不久,可能有些地方描写叙述有误,还请大家谅解及指正! lambda表达式具体解释 一.问题 1.什么是lambda表达式? 2.lambda表达式用来干什么的? 3.l ...
- 十分钟学会Java8的lambda表达式和Stream API
01:前言一直在用JDK8 ,却从未用过Stream,为了对数组或集合进行一些排序.过滤或数据处理,只会写for循环或者foreach,这就是我曾经的一个写照. 刚开始写写是打基础,但写的多了,各种乏 ...
- java8中Lambda表达式和Stream API
一.Lambda表达式 1.语法格式 Lambda是匿名函数,可以传递代码.使用“->”操作符,改操作符将lambda分成两部分: 左侧:指定了 Lambda 表达式需要的所有参数 右侧:指定了 ...
- Java8之lambda表达式
一.什么是lambda表达式? Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码像数据一样进行传递).可以写出更简洁.更灵活的代码.作为一种更紧凑的代码 ...
随机推荐
- html的书写规范,有哪些注意点
1.最开始的声明格式与编码格式,注意html5与和html4.0的区别,注意对不同浏览器的渲染作用: 2.<head></head>标签中的相关内容的编写: 3.确保引入的jq ...
- umask文件屏蔽字的使用【学习笔记】
#include "apue.h" #include <fcntl.h> #define RWRWRW (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP ...
- YTU 2209: 建立链表(线性表)
2209: 建立链表(线性表) 时间限制: 1 Sec 内存限制: 128 MB 提交: 282 解决: 185 题目描述 (线性表)设键盘输入n个英语单词,输入格式为n, w1, w2, -,w ...
- [Silverlight 2.0 控制物体绕圆弧运行(C#初探篇)]
我自己写的第一个 Silverlight 2.0 程序 [Silverlight 2.0 控制物体绕圆弧运行(C#初探篇)] 程序运行时:小地球将绕着圆形轨迹做圆周运动. ...
- codevs1148传球游戏
传送门 1148 传球游戏 2008年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题目描述 Description 上体 ...
- background-clip与background-origin
规定背景的绘制区域 浏览器支持 IE9+.Firefox.Opera.Chrome 以及 Safari 支持 background-clip 属性. 注释:Internet Explorer 8 以及 ...
- View Programming Guide for iOS ---- iOS 视图编程指南(四)---Views
Views Because view objects are the main way your application interacts with the user, they have many ...
- centos安装xen虚拟机并且配置bridge
主要参考的几个官方文档: http://wiki.centos.org/HowTos/Xen/Xen4QuickStart 在centos上安装xen组件并建立dom0 http://wiki.cen ...
- k8s-StatefulSet控制器-十四
一.StatefulSet概述 RC.Deployment.DaemonSet都是面向无状态的服务,它们所管理的Pod的IP.名字,启停顺序等都是随机的,而StatefulSet管理所有有状态的服务, ...
- 百度也推出公共DNS服务:180.76.76.76(转载)
转自:http://www.cnbeta.com/articles/352221.htm