有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Scala中匿名类的Java风格Lambda表达式

Lambda Expressions Java Tutorial中,approach 5通过转换匿名类实例化来改进approach 4

new CheckPerson() {
    public boolean test(Person p) {
        return p.getGender() == Person.Sex.MALE
            && p.getAge() >= 18
            && p.getAge() <= 25;
    }
}

(Person p) -> p.getGender() == Person.Sex.MALE
    && p.getAge() >= 18
    && p.getAge() <= 25

Scala中是否有一个等价物,我可以避免这样做:

new CheckPerson {
    def test(p: Person): Boolean = {
        p.getGender == Person.Sex.MALE
            && p.getAge >= 18
            && p.getAge <= 25
    }
}

共 (1) 个答案

  1. # 1 楼答案

    val x: CheckPerson = (p: Person) => p.getGender == Person.Sex.MALE &&
                                        p.getAge >= 18 &&
                                        p.getAge <= 25