Steam流将一个List<Bean>转化为另一List<Bean>

							Steam流将一个List<Bean>转化为另一List<Bean>

将一个List 转化为另一个List

可以将其中有相关属性的值赋值给另一个Bean;

一、第一个实体类

// An highlighted block
mport java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;

/**
* @Description: 用户练习表
* @Author: LG
* @Date:   2019-09-28
* @Version: V1.0
*/
@Data
@TableName("tb_user_info")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="tb_user_info对象", description="用户练习表")
public class UserInfo {
   
   /**id*/
   @TableId(type = IdType.UUID)
   @ApiModelProperty(value = "id")
   private String id;
   /**姓名*/
   @Excel(name = "姓名", width = 15)
   @ApiModelProperty(value = "姓名")
   private String name;
   /**年龄*/
   @Excel(name = "年龄", width = 15)
   @ApiModelProperty(value = "年龄")
   private Integer age;
   /**邮箱*/
   @Excel(name = "邮箱", width = 15)
   @ApiModelProperty(value = "邮箱")
   private String email;
   /**身份证*/
   @Excel(name = "身份证", width = 15)
   @ApiModelProperty(value = "身份证")
   private String idCard;
   /**手机号*/
   @Excel(name = "手机号", width = 15)
   @ApiModelProperty(value = "手机号")
   private String phone;
   /**创建时间*/
//	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
   @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
   @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
   @ApiModelProperty(value = "创建时间")
   private Date createTime;
   /**更新时间*/
//	@Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
   @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
   @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
   @ApiModelProperty(value = "更新时间")
   private Date updateTime;
   /**密码*/
   @Excel(name = "密码", width = 15)
   @ApiModelProperty(value = "密码")
   private String password;
   /**状态*/
//	@Excel(name = "状态", width = 15)
   @ApiModelProperty(value = "状态")
   private Integer status;
   /**生日*/
//	@Excel(name = "生日", width = 15, format = "yyyy-MM-dd")
   @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
   @DateTimeFormat(pattern="yyyy-MM-dd")
   @ApiModelProperty(value = "生日")
   private Date birthday;
   /**地区*/
   @Excel(name = "地区", width = 15)
   @ApiModelProperty(value = "地区")
   private String area;
   /**性别*/
//	@Excel(name = "性别", width = 15)
   @ApiModelProperty(value = "性别")
   private Integer sex;

   private String sysOrgCode;
}

二、第二个Bean

// An highlighted block
package org.jeecg.modules.study.entity;

import lombok.Data;

/**
 * Date:2019/10/27
 *可能存在继承关系或者有相同属性的对象
 * @author:LG
 */
@Data
public class UserInfoExp extends UserInfo {

    private String statusName;
};

三、将其中的一个List 转化为另一个List,可以利用java8的新特性实现优雅的转化,无需再利用for循环

// An highlighted block
 List<UserInfo> pageList = userInfoService.list(queryWrapper);
//      List<UserInfoExp> list = new ArrayList<>();
 List<UserInfoExp> list = pageList.stream().map(e -> JSONUtil.
 toBean(JSONUtil.toJsonStr(e), UserInfoExp.class)).
 collect(Collectors.toList());
  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值