嗨,如果你有一个具有相同签名的方法,那就说吧。
void getErrorMessage(int errorCode){
}
void getErrorMessage(int domain){
}
我知道我必须更改名称或区分参数但是最好的方法是什么?
---------------------------编辑。
构造函数怎么样?
例如
public ErrorMessage(int errorCode){
}
public ErrorMessage(int domain){
}
答案 0 :(得分:1)
您可以将方法名称设为显式:
getErrorByErrorCode(int errorCode)
和
getErrorByDomain(int domain)
答案 1 :(得分:1)
您可以添加" ByFoo"到方法的最后,例如:getErrorMessageByCode
或getErrorMessageByDomain
答案 2 :(得分:0)
最不危险且最容易理解的方法是:
public class ErrorCode {
private int intCode;
ErrorCode(int intCode) {
this.intCode = intCode;
}
int getIntegerCode() {
return intCode;
}
}
public class Domain {
private int domain;
Domain(int domain) {
this.domain = domain;
}
int getIntegerCode() {
return domain;
}
}
Message getErrorMessage(ErrorCode errorCode)
Message getErrorMessage(Domain domain)
请注意,这些类是不可变的。你应该也可以覆盖equals。在使用整数值的任何地方使用这些类。
现在无法在代码中的任何位置误认为域的错误代码。如果你误认为另一个你会得到编译器错误,编译器将选择正确的getErrorMessage实现。只有在需要对对象执行整数运算时,才从对象中提取整数值。