龙空技术网

用java8的特性批量修改List中某Bean的属性

电脑技术汇 204

前言:

当前朋友们对“java批量新增或修改”大体比较重视,咱们都想要了解一些“java批量新增或修改”的相关知识。那么小编在网络上收集了一些对于“java批量新增或修改””的相关文章,希望兄弟们能喜欢,姐妹们一起来学习一下吧!

如下所示的简单代码, 如何利用java8的特性用一句代码将list中2个Person的name属性增加前缀? 即将"ZhangSan"和"Lisi"修改为"20_ZhangSan"和"20_LiSi"

package com.example;import java.util.ArrayList;import java.util.List;public class Main {    public static void main(String[] args) {        List<Person> list = new ArrayList<Person>();        list.add(new Person().setAge("20").setName("ZhangSan"));        list.add(new Person().setAge("30").setName("LiSi"));    }}class Person {    private String name;    private String age;    public String getName() {        return name;    }    public Person setName(String name) {        this.name = name;        return this;    }    public String getAge() {        return age;    }    public Person setAge(String age) {        this.age = age;        return this;    }    }

解决方法1:在主方法的最后一行,添加如下一行代码:

 java8 使用新格式, 即  foreach + 拉姆达(lambda)表达式,写成: list.forEach( e -> {    		e.setName( "20_" + e.getName());			} );

解决方法2:

利用java8 带的stream+ map实现。newlist = list.stream.map(p->p.setName("20_ "+p.getName());

标签: #java批量新增或修改