如果lamdba作为方法的参数,那么它的type是什么?以及怎么调用

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

printPersons方法的第一个参数传入的是个列表,第二个参数是个Lambda表达式

那么我在定义这个方法的时候第二个参数的类型是什么?

第二个问题,这个Lambda表达式的返回值我怎么获取啊?

这个表达式是用来替换匿名类的

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

匿名类里面至少还定义了个test方法,我可以通过类调用这个test方法,但是lambda怎么用?

补充:看了一下书,好像已经理解了。。。

未卜先知
浏览 1254回答 0
0回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java