如果我有一個對象約枚舉問題
public class Genre {
private int id;
private int name;
}
和ID和名稱都已經提前確定,例如
if (id == 1)
name = "action";
else if (id == 2)
name = "horror";
我的問題是如何建立這兩種方法以及
Genre.getName(1); // return "action";
Genre.getId("action"); // return 1;
我想也許我可以用枚舉,像
public enum Genre {
ACTION(1), HORROR(2);
private final int id;
private final String name;
private Genre(int id) {
this.id = id;
this.name = getName(id);
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public static String getName(int i) {
switch(i) {
case 1 : return "action";
case 2: return "horror";
default :
return null;
}
}
}
但這種方式,我不知道如何
Genre.getId("action"); // return 1;
而且我怕我無法正常使用枚舉。 你能給我一些建議嗎?謝謝!
---
起初,我想這樣做是什麼在我的情況,我想用的ID或名稱查找名稱或ID喜歡
int id = 1;
Genre.getName(id); // return "action"
或
String name = "action";
Genre.getId(name); // return 1
而且現在感謝所有,我明白爲什麼我想要做的是建議
int id = 1;
Genre.getGenre(id); // return Genre that id = 1 and the name = "action"
或
String name = "action";
Genre.getGenre(name); // return Genre that id = 1 and the name = "action"
+1代碼的好解釋。 – amod