我有了一個枚舉屬性的實體:使用枚舉在開關/箱
// MyFile.java
public class MyFile {
private DownloadStatus downloadStatus;
// other properties, setters and getters
}
// DownloadStatus.java
public enum DownloadStatus {
NOT_DOWNLOADED(1),
DOWNLOAD_IN_PROGRESS(2),
DOWNLOADED(3);
private int value;
private DownloadStatus(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
我要保存在數據庫中這個實體和檢索。問題是我保存在數據庫中的int值,我得到int值!我不能使用如下的開關:
MyFile file = new MyFile();
int downloadStatus = ...
switch(downloadStatus) {
case NOT_DOWNLOADED:
file.setDownloadStatus(NOT_DOWNLOADED);
break;
// ...
}
我該怎麼辦?
可能是多數民衆贊成在最壞的情況下,但唯一的解決辦法是我可以使用一個不同的getter通過擴展類,返回值作爲枚舉。 –