[英]Call a method having one optional parameter
我遇到了類似的解決方案,但我需要更多信息。 根據我的用例,我創建了一個方法,該方法帶有兩個參數,其中一個是必需的,另一個是可選的。
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可選參數,這使我認為只有在Java中使用Builder模式才有可能,但是我想我的情況是完全不同的。 如果可以的話,任何建議將不勝感激!
創建兩個方法呢:
public void myMethod(Required req){ }
public void myMethod(Required req, NotRequired nr){ }
當您只需要采用Required參數的方法時,請調用第一個,如果您需要同時需要和不需要的方法,請調用第二個
您可以只使用兩種方法, 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)
則可以調用myMethod(req)
myMethod(req, nr)
。
用不同的簽名重載您的方法。 先前存在的方法的簽名不變。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.