是否有内置的Java类型来保证执行(T t)方法?

Jef*_*rod 6 java strategy-pattern functor

似乎需要像下面这样的类型无处不在,以至于它应该已经内置到Java中:

public interface Executer<T> {
   void execute(T object);
}
Run Code Online (Sandbox Code Playgroud)

然后它可以在其他类中使用,例如在一个对象上调用一堆执行器的简单示例.

class Handler<T> implements Executer<T> {
   List<Executer<T>> executerList;

   Handler(List<Executer<T>> executer) {
      this.executerList = executer;
   }

   void execute(T t) {
      for (Executer<T> executer : this.executerList) {
         executer.execute(t);
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

是否有内置类型等效或公共库等价?这个概念有名字吗?

Mic*_*wan 4

我认为这个概念的名称是策略模式。实际上,您正在封装一种算法,这使得将一种策略替换为另一种策略或应用多种策略变得更加容易。

这种设计模式非常容易实现,并且该execute方法不需要仅采用特定类型的单个参数。因此,我怀疑您是否会找到内置的 Java 类型,但它是一种众所周知的设计模式。