在访问者模式中处理null的有效方法

时间:2011-02-26 08:51:32

标签: java design-patterns

想象一下,你有一个对象集合,并且你使用了访问者模式 - 你将如何最优雅地处理从集合中检索到的null?

2 个答案:

答案 0 :(得分:4)

您的问题需要一些特殊类型的可访问对象,或者您试图对访问者模式施加太多责任。 如果你真的有一些不能访问的有意义的对象,请尝试 Null Object 模式。

public class NullElement implements Element {

    public void accept(ElementVisitor visitor) {
        // noop
    }
}

答案 1 :(得分:1)

除了放置if (element != null) element.accept(visitor);

之外,我看不到任何其他方法

如果您正在使用番石榴或其他东西,您当然可以做filter,但这似乎有点矫枉过正。