天天看点

Java8特性—函数式接口:Predicate,Consumer,Function,Supplier

1.简单介绍

首先,它还是一个接口,所以必须满足接口最基本的定义。但它是一个特殊的接口:SAM类型的接口(Single Abstract Method)。可以在调用时,使用一个lambda表达式作为参数。

定义要求:

  • 只能有一个抽象方法需要被实现
@FunctionalInterface
interface Converter<F, T> {
    T convert(F from);
}
           
static MeterFilter denyUnless(Predicate<Meter.Id> iff) {
        return new MeterFilter() {
            @Override
            public MeterFilterReply accept(Meter.Id id) {
                return iff.test(id) ? MeterFilterReply.NEUTRAL : MeterFilterReply.DENY;
            }
        };
    }
           

继续阅读