Java 如何使用不同的标准操作相同的方法?
我正在开发一个java应用程序。我有一个场景如下 我有一个存储过程来获取客户详细信息,我将“areaCode”作为参数传递。使用Java 如何使用不同的标准操作相同的方法?,java,database,Java,Database,我正在开发一个java应用程序。我有一个场景如下 我有一个存储过程来获取客户详细信息,我将“areaCode”作为参数传递。使用getCustDetails(areaCode)方法从应用程序调用此过程。此方法在整个应用程序中使用了100多次 i、 e.getCustDetails(区域代码) 现在我的要求改变了。现在,在我的数据库表中有一个名为“status”的列。现在,我想获取在其状态列中具有值“active”的客户详细信息 克服这一要求的最佳方法是什么?我是否应该将方法声明和方法调用更改为下
getCustDetails(areaCode)
方法从应用程序调用此过程。此方法在整个应用程序中使用了100多次
i、 e.getCustDetails(区域代码)代码>
现在我的要求改变了。现在,在我的数据库表中有一个名为“status”的列。现在,我想获取在其状态列中具有值“active”的客户详细信息
克服这一要求的最佳方法是什么?我是否应该将方法声明和方法调用更改为下面给出的整个应用程序,或者是否有其他方法可以减少我们的工作量
getCustDetails(areaCode,status);
有人能帮我吗?无需修改现有方法,只需创建一个新方法getCustDetails(status)
或getCustDetails(areaCode,status)
更改签名并大规模重构代码
更改方法体以满足新的需求(非常愚蠢的方法,因为需求总是可以再次更改)
如果我是你,我会用两个参数定义一个新方法getCustDetails(areaCode,status);
并在需要时调用它。你的getCustDetails(areaCode);
只需调用newgetCustDetails(areaCode,status);
并将status设置为null。我认为这是最好的方法
您可以保留原始方法并创建新方法:
public ReturnType getCustDetails(Type1 areaCode) {
// Move your code to the new function
// call the new function
getCustDetails(areaCode, DEFAULT_STATUS /* Or null */);
}
public ReturnType getCustDetails(Type1 areaCode, Type2 status) {
...
...
...
}
感谢您的回复。但这里返回的是具有默认_状态(如“活动或非活动”)的客户详细信息。但我的要求是,在某些方法调用中,我需要活动状态客户,而其他需要非活动状态客户