是否有一个库已经提供了Java中命令模式所需的接口?
例如:
public interface Func1<T,R> { public R execute(T input); }
public interface Func2<T1,T2,R> { public R execute(T1 input1, T2 input2); }
public interface Predicate1<T> { public boolean execute(T input); }
....
感谢。
答案 0 :(得分:6)
Guava有第一个和第三个接口(称为Function
和Predicate
)。你的第二个,恕我直言,没用,因为你只需要在一个对象中组合T1和T2,而是使用第一个接口。
更有趣的是,Guava还有很多方法使用这两个界面,如Iterables.any(Iterable, Predicate)
,Iterables.transform(Iterable, Function)
等。