使用Lambda表达式给对象赋值
- 技术点
- 使用Lambda表达式.map循环遍历List集合赋值
- 实体类
@Data
public class InfoNoticeItem implements Serializable {
/**
* serialVersionUID
*/
private static final long serialVersionUID = 6411598034131994800L;
/**
* ids 商品内码
*/
private String ids;
/**
* storeCode 门店编号
*/
private String storeCode;
}
- 测试类
import com.alibaba.fastjson.JSON;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
public class Test {
public static void main(String[] args) {
InfoNoticeItem re2 = new InfoNoticeItem();
re2.setIds("2");
re2.setStoreCode("高佳琪");
InfoNoticeItem re4 = new InfoNoticeItem();
re4.setIds("4");
re4.setStoreCode("王莹莹");
List<InfoNoticeItem> list = new ArrayList<>();
Collections.addAll(list, re2, re4);
ShopInfoNoticeReq shopInfoNoticeReq = new ShopInfoNoticeReq();
shopInfoNoticeReq.setFormat(null);
shopInfoNoticeReq.setIdList(list);
// 赋值.setIdList(collect)
// public void setIdList(List<InfoNoticeItem> idList)
List<InfoNoticeItem> collect = shopInfoNoticeReq.getIdList().stream().map(item -> {
InfoNoticeItem ini = new InfoNoticeItem();
ini.setIds(item.getIds());
ini.setStoreCode(item.getStoreCode());
return ini;
}).collect(Collectors.toList());
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(JSON.toJSON(collect));
//TODO 输出:[{"ids":"2","storeCode":"高佳琪"},{"ids":"4","storeCode":"王莹莹"}]
}
}
简单使用
ArrayList<Student> list = new ArrayList<>();
Collections.addAll(list, new Student(0, "张三"), new Student(10, "李四"));
System.out.println(list.stream().map(value -> value.getId()).collect(Collectors.toList()));
System.out.println(list.stream().map(Student::getId).collect(Collectors.toList()));
//输出: [0, 10]
//输出: [0, 10]