我有这门课。我会创建一个数组ex。 Categoria[] cat
其中每个地方都由枚举类型的字母表示。例如cat[0=A], cat[1=B]
等。我该怎么做?
public class Categoria {
public enum LetteraCategoria{
A,B,C,D,E,F;
public static String getVerbose(){
return "";
}
}
private LetteraCategoria categoria;
private Hashtable<String,Autovettura> listaauto;
public Categoria(LetteraCategoria categoria){
this.categoria = categoria;
listaauto = new Hashtable<String,Autovettura>();
}
public LetteraCategoria getCategoria() {
return categoria;
}
public Hashtable<String, Autovettura> getListaauto() {
return listaauto;
}
}
答案 0 :(得分:4)
您可以尝试:
cat[LetteraCategoria.A.ordinal()]
答案 1 :(得分:1)
你的枚举
public enum LetteraCategoria{
A,B,C,D,E,F;
public static String getVerbose(){
return "";
}
}
你的数组
LetteraCategoria[] arr = new LetteraCategoria[3];
arr[0] = LetteraCategoria.A;
arr[1] = LetteraCategoria.B;
.
.
更好的方式
最好在枚举上使用ArrayList
并使用values()
方法,只需迭代结果并继续将其添加到List
答案 2 :(得分:1)
你的意思是用枚举索引的数组?如果是这样,您应该考虑使用EnumMap:
Map<LetteraCategoria, Categoria> cat = new EnumMap<LetteraCategoria, Categoria>(LetteraCategoria.class);
然后,您可以访问类别cat.get(LetteraCategoria.A)
。
在内部,它的实现比普通的HashMap更有效。
答案 3 :(得分:0)
使用values()
:
final LetteraCategoria[] tmp = LetteraCategoria.values();
final String[] stringValues = new String[tmp.length];
for (int i = 0; i < tmp.length; i++)
stringValues[i] = tmp[i].toString();