利用java8的特性如何批量修改List中某Bean的属性 ?

如下所示的简单代码, 如何利用java8的特性用一句代码将list中2个Person的name属性增加前缀? 即将"LiMing"和"wanghai"修改为"17_Liming"和"17_wanghai"

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("LiMing"));
        list.add(new Person().setAge("30").setName("Wanghai"));
    }
}

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;
    }
    
}
阅读 25k
2 个回答
        list = list.stream().map(p -> p.setName("17_"+p.getName()) ).collect(Collectors.toList());
list.forEach(p -> p.setName("17_" + p.getName()));
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进