【问题标题】:Simple abstract String receiver简单的抽象字符串接收器
【发布时间】:2018-10-14 09:19:09
【问题描述】:

我有向侦听器发出字符串的对象...

监听器扩展了以下类:

public abstract class StringReceiver {

    public abstract void receive(String input);

}

我不想重新发明轮子。我的问题是:Java API 中用于这种侦听器/接收器关系的适当类是什么?

【问题讨论】:

标签: java listener abstract receiver


【解决方案1】:

经过多次投票和some googling

感谢 Jaroslaw Pawlak,我找到了问题的答案。

答案是完全放弃我的问题中显示的课程并将其替换为:

消费者名单:

List<Consumer<String>> inputReceivers = new ArrayList<Consumer<String>>();

现在添加消费者:

public void addReceiver(Consumer<String> receiver) {
    inputReceivers.add(receiver);
}

并触发事件:

    for (Consumer<String> a : inputReceivers) {
            a.accept("some string data");
    }

就是这样!无需实现任何接口或扩展抽象类,这与方法配合得很好。

我可以这样做:

addReceiver(s -> { 
                if (!StringUtils.isAllBlank(s)) {
                    // deal with string s
                }
            });

几乎是魔法!

【讨论】:

  • 如果你要做的就是用谷歌搜索,那你为什么要问这个问题呢?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-02
  • 2012-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-12
相关资源
最近更新 更多