我遇到了类似的解决方案,但我需要更多信息。根据我的用例,我创建了一个方法,该方法带有两个参数,其中一个是必需参数,另一个是可选参数。
public void myMethod(Required req){ ... }
在我的应用程序中,有许多调用myMethod的方法。我需要通过向myMethod中添加另一个不需要的参数来更新它,如下所示:
public void myMethod(Required req, NotRequired nr){ ... }
我想添加一个可选参数,而不影响预先存在的调用者方法。我的意思是说我想通过以下方式调用myMethod:
Required req = new Required();
NotRequired nr = new NotRequired();
myMethod(req);
myMethod(nr);
我碰到了java optional parameter in methods,这让我觉得只有在Java中使用Builder模式才有可能,但是我想我的情况是完全不同的。如果可以的话,任何建议将不胜感激!
答案 0 :(得分:4)
如何创建两个方法:
pi-fts6q 1/2 Running 0 52s
当您只需要带有“必需”参数的方法时,请调用第一个,如果您需要同时需要“必需”和“非必需”的方法,请调用第二个
答案 1 :(得分:2)
您可以只使用两种方法,也可以myMethod(req)
调用myMethod(req, nr)
:
public void myMethod(Required req){
myMethod(req, new NotRequired());
}
public void myMethod(Required req, NotRequired nr){
// ...
}
因此,如果您只想使用所需的参数,则可以调用myMethod(req)
,或者如果您想同时使用这两个参数,则可以调用myMethod(req, nr)
。
答案 2 :(得分:0)
使用不同的签名重载您的方法。现有方法的签名不变。