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;
}
};
}