1.介绍
Java内置4大函数式接口
消费性接口 Consumer
供给型接口 Supplier
函数型接口 Function
断定型接口 Predicate
举例:代码:
@Test
public void test1() {
happyTime(500, new Consumer () {
@Override
public void accept(Double t) {
System.out.println("学习太累了,"
+ "去天上人间买了瓶矿泉水,价格为"+t);
}
});
System.out.println("===========================");
happyTime(400, money->{System.out.println("学习太累了,去天上人间买了瓶矿泉水,价格为"+money);});
}
public void happyTime(double money ,Consumer con) {
con.accept(money);
}
运行结果:
代码:
@Test
public void test2() {
List list=Arrays.asList("北京","南京","天津","东京","西京","普京");
List filterStrs=filterString(list,new Predicate () {
@Override
public boolean test(String t) {
return t.contains("京");
}
});
System.out.println(filterStrs);
System.out.println("===================");
List filterStr2=filterString(list, s->s.contains("京"));
System.out.println(filterStr2);
}
//根据给定的规则,过滤集合中的字符串,此规则由Predicate的方法决定
public List filterString(List list, Predicate pre){
ArrayList filterList=new ArrayList<>();
for(String s:list) {
if(pre.test(s)) filterList.add(s);
}
return filterList;
}
运行结果:



