将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>的更多相关文章

  1. Java8中Lambda表达式的10个例子

    Java8中Lambda表达式的10个例子 例1 用Lambda表达式实现Runnable接口 //Before Java 8: new Thread(new Runnable() { @Overri ...

  2. java8的lambda表达式

    关于java8的lambda表达式 lambda表达式一般用于接口,因为lambda表达式是函数式编程. 1.有且仅有一个抽象方法被称为函数式接口,函数式接口可以显示的被@FunctionalInte ...

  3. java8中lambda表达式的应用,以及一些泛型相关

    语法部分就不写了,我们直接抛出一个实际问题,看看java8的这些新特性究竟能给我们带来哪些便利 顺带用到一些泛型编程,一切都是为了简化代码 场景: 一个数据类,用于记录职工信息 public clas ...

  4. java8之lambda表达式(1)-基本语法

    lambda表达式,即带有参数的表达式,为更清晰地理解lambda表达式,先看如下例子: (1) class Student{ private String name; private Double ...

  5. java8之lambda表达式入门

    1.基本介绍 lambda表达式,即带有参数的表达式,为了更清晰地理解lambda表达式,先上代码: 1.1 两种方式的对比 1.1.1 方式1-匿名内部类 class Student{ privat ...

  6. JAVA8之lambda表达式具体解释,及stream中的lambda使用

    前言: 本人也是学习lambda不久,可能有些地方描写叙述有误,还请大家谅解及指正! lambda表达式具体解释 一.问题 1.什么是lambda表达式? 2.lambda表达式用来干什么的? 3.l ...

  7. 十分钟学会Java8的lambda表达式和Stream API

    01:前言一直在用JDK8 ,却从未用过Stream,为了对数组或集合进行一些排序.过滤或数据处理,只会写for循环或者foreach,这就是我曾经的一个写照. 刚开始写写是打基础,但写的多了,各种乏 ...

  8. java8中Lambda表达式和Stream API

    一.Lambda表达式 1.语法格式 Lambda是匿名函数,可以传递代码.使用“->”操作符,改操作符将lambda分成两部分: 左侧:指定了 Lambda 表达式需要的所有参数 右侧:指定了 ...

  9. Java8之lambda表达式

    一.什么是lambda表达式? Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码像数据一样进行传递).可以写出更简洁.更灵活的代码.作为一种更紧凑的代码 ...

随机推荐

  1. html的书写规范,有哪些注意点

    1.最开始的声明格式与编码格式,注意html5与和html4.0的区别,注意对不同浏览器的渲染作用: 2.<head></head>标签中的相关内容的编写: 3.确保引入的jq ...

  2. umask文件屏蔽字的使用【学习笔记】

    #include "apue.h" #include <fcntl.h> #define RWRWRW (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP ...

  3. YTU 2209: 建立链表(线性表)

    2209: 建立链表(线性表) 时间限制: 1 Sec  内存限制: 128 MB 提交: 282  解决: 185 题目描述 (线性表)设键盘输入n个英语单词,输入格式为n, w1, w2, -,w ...

  4. [Silverlight 2.0 控制物体绕圆弧运行(C#初探篇)]

    我自己写的第一个 Silverlight 2.0 程序    [Silverlight 2.0 控制物体绕圆弧运行(C#初探篇)]            程序运行时:小地球将绕着圆形轨迹做圆周运动. ...

  5. codevs1148传球游戏

    传送门 1148 传球游戏 2008年NOIP全国联赛普及组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver     题目描述 Description 上体 ...

  6. background-clip与background-origin

    规定背景的绘制区域 浏览器支持 IE9+.Firefox.Opera.Chrome 以及 Safari 支持 background-clip 属性. 注释:Internet Explorer 8 以及 ...

  7. View Programming Guide for iOS ---- iOS 视图编程指南(四)---Views

    Views Because view objects are the main way your application interacts with the user, they have many ...

  8. centos安装xen虚拟机并且配置bridge

    主要参考的几个官方文档: http://wiki.centos.org/HowTos/Xen/Xen4QuickStart 在centos上安装xen组件并建立dom0 http://wiki.cen ...

  9. k8s-StatefulSet控制器-十四

    一.StatefulSet概述 RC.Deployment.DaemonSet都是面向无状态的服务,它们所管理的Pod的IP.名字,启停顺序等都是随机的,而StatefulSet管理所有有状态的服务, ...

  10. 百度也推出公共DNS服务:180.76.76.76(转载)

    转自:http://www.cnbeta.com/articles/352221.htm