Разработчики Guava решили использовать аннотации:
class EventBusChangeRecorder {
  @Subscribe 
  void recordCustomerChange(ChangeEvent e) {
    recordChange(e.getChange());
  }
}
... вместо классических интерфейсов:
class EventBusChangeRecorder implements Handler<ChangeEvent>{
  void handle(ChangeEvent e) {
    recordChange(e.getChange());
  }
}
Это делает невозможным проверку времени компиляции. Поэтому мне интересно, в чем преимущество этого подхода.
Вы видите какие-либо преимущества аннотаций здесь?
