Do-Nothing适配器访问器方法

时间:2012-10-31 19:30:16

标签: java

我已经四处寻找这个具体问题的帮助,也许我的措辞是关闭的,如果是这样的话,链接就会完美!

问题在于:

我有以下界面:

Product get(String prodCode);

我还有一个使用以下内容实现接口的抽象类:

public Product get(String prodCode) { //Do nothing }

但是,为了满足编译器,我必须返回一些东西(null或Product)。我的理解是它不应该返回这些东西,因为它不再“无所事事”。我不知道如何在不做任何事情的情况下满足编译器。

2 个答案:

答案 0 :(得分:0)

我不知道你的DoNothingProduct实现是什么样的,但是你可以为Product提供一个no-arg默认构造函数,它将返回一个设置了默认字段的不可变对象。

答案 1 :(得分:0)

根据您评论中的信息,我会说您可以执行以下任一操作:

  1. 返回null
  2. 返回没有任何功能的默认Product对象。
  3. 返回null将是最简单的,但您希望确保调用代码可以保护自己免受NullPointerException的影响,这可能是因为尝试与返回的结果进行交互。

    如果你要做第二个,那么static final对象可能是理想的回归。