Guava 停止听自己的事情?

Guava 停止听自己的事情?,guava,Guava,订阅了某个事件类的类是否可能在不侦听的情况下触发相同的事件类型 例如: Class A { EventBus bus = new EventBus(); public A() { bus.register(this); bus.post ( new String("event!")); } @Subscribe public void consume(String event) { System.out.println("Got event: "

订阅了某个事件类的类是否可能在不侦听的情况下触发相同的事件类型

例如:

Class A {

  EventBus bus = new EventBus();
  public A() {
     bus.register(this);
     bus.post ( new String("event!"));
  }

  @Subscribe public void consume(String event) {
     System.out.println("Got event: "+event);
  }

}

您可以让您的事件类包含事件源和发布事件的对象,然后忽略源为此的任何事件。不过,我建议您尝试让您的类一致地处理事件,而不考虑事件的来源。

您可以让您的事件类包含事件的来源,即发布事件的对象,然后忽略任何事件的来源。不过,我建议尝试让您的类始终如一地处理事件,而不考虑事件的来源。

不,没有。EventBus如何确定事件最初起源于何处


如果要忽略某些事件,则必须在事件对象本身中包含足够的信息,以确定是否应忽略该事件。

否,没有。EventBus如何确定事件最初起源于何处


如果要忽略某些事件,必须在事件对象本身中包含足够的信息,以确定是否应忽略该事件。

它可以使用调用线程的堆栈跟踪。。。但我想这将是一个需要频繁调用的繁重操作。请看这里:是的-如果您有多个类实例,并且希望它们侦听彼此的事件,那么这对您没有帮助。它可以使用调用线程的StackTrace。。。但我想这将是一个需要频繁调用的繁重操作。请看这里:是的,如果您有多个类实例,并且希望它们侦听彼此的事件,那么这对您没有帮助。