首页 > 解决方案 > 是否在 lambda 表达式中实例化了一个类?

问题描述

我有以下方法调用,其中我传递了一个 lambda 表达式。是否在这里隐式实例化了一个类?

printStudents(
    roster,
    (Student s) -> s.getGender() == Student.Sex.MALE
        && s.getAge() >= 18
        && s.getAge() <= 25
);

方法签名:

printStudents(List<Student> roster, CheckStudent checkstudet)


interface CheckStudent {
    boolean test(Student s);
}

编辑

你们中的一些人建议我重构代码,但同样的问题出现了。

CheckStudent checkStudent = (Student s) -> s.getGender() == Student.Sex.MALE && s.getAge() >= 18 && s.getAge() <= 25;

Student是否在作业的右侧实例化了一个类(我不是指类)?

标签: javalambdafunctional-interface

解决方案



推荐阅读