class TestJ8 { | |
interface Func<Af, Bf> { | |
Bf f(Af a); | |
} | |
class List<A> { | |
<Bm> List<Bm> map(Func<A, Bm> f) { | |
return null; | |
} | |
<Bb> List<Bb> bind(Func<A, List<Bb>> f) { | |
return null; | |
} | |
<B> List<B> apply(final List<Func<A, B>> lf) { | |
return lf.bind(this::map); | |
} | |
} | |
} |