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