我无法在任何地方找到这个问题的答案,所以我希望有人可以帮助我.我期待我所要求的是不可能的,但我想确认一下.首先,一个枚举例子......
public enum StatusCode {
SUCCESS(0), GENERAL_ERROR(999), CONNECTION_TIMEOUT_ERROR(1337);
private int statusCode;
private StatusCode(int statusCode) {
this.statusCode = statusCode;
}
public int getStatusCode() {
return statusCode;
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我正在使用此枚举来强制使用特定的状态代码.我的问题是:有没有办法可以引用StatusCode.SUCCESS并让它返回与之关联的int值?不要过多关于我想做什么的细节,而是采用这个例子:
public String getStatusMessage(int statusCode) {
// Map<Integer, String> that contains status messages
// return String for key statusCode
}
Run Code Online (Sandbox Code Playgroud)
在此示例中,调用此方法的语法是getStatusMessage(StatusCode.SUCCESS.getStatusCode()).
有没有办法缩短这个getStatusMessage(StatusCode.SUCCESS)?
我认为第二种方式看起来更清晰,并且会使我的代码更具可读性.有任何想法吗?任何帮助深表感谢.提前致谢!
你的意思是这样的?
public String getStatusMessage(StatusCode code) {
int status = code.getStatusCode();
String message = ...do stuff to get message :)
return message;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2581 次 |
| 最近记录: |