首页 > 解决方案 > 使用消费者显示作业列表

问题描述

我正在学习 lambda。但是我在显示结果时遇到了问题。

public class JavaTest {
    
    public static Consumer<Person> consumer1() {
        return person -> {
            String before_job = person.getJob();
            String after_job1 = before_job.replace("PHP programmer", ".NET programmer");
            String after_job2 = before_job.replace("Java programmer", "Python programmer");
            person.setJob(after_job1);
            person.setJob(after_job2);
            System.out.println(after_job1);
            System.out.println(after_job2);
        };
    }
    
    public static void main(String[] args) {
        List<Person> results = new ArrayList<Person>();
        
        results.add(new Person("Elsdon", "Jaycob","Java programmer","male",43,2000));
        results.add(new Person("Tamsen", "Brittany","Java programmer","female",23,1500));
        results.add(new Person("Floyd", "Donny","Java programmer","male",33,1800));
        
        System.out.println("=======================================6");
        results.stream().forEach(consumer1());
        
    }
}

但是当我尝试调试我的代码时,Consumer并没有改变Person. 我有一个关于如何Consumer完美使用的问题。任何回复将不胜感激。此致。

[更新] 当我调试我的代码时,我没有禁用功能代码。这导致了错误的答案。现在我解决了我的问题。

标签: javalambdaconsumer

解决方案


推荐阅读