我如何访问Name
字段?
public class Animals {
public enum animal{
a1("CAT", 4),
a2("DOG", 4);
}
String Name;
int E;
public animal(String Name, int E){
this.Name = Name;
this.E = E;
}
}
答案 0 :(得分:1)
可以这样做,但是你有很多语法错误。关键是为枚举成员变量提供getter方法。
public enum Animal {
a1("CAT", 4), a2("DOG", 4);
private String Name;
private int E;
private animal(String Name, int E)
{
this.Name = Name;
this.E = E;
}
public String getName() {
return Name;
}
public int getE() {
return E;
}
}
然后,您可以在程序的其余部分中的任何位置访问这些值。
Animal.a1.getName();
答案 1 :(得分:0)
假设你有这样的内部enum
:
public class Animals {
public enum Animal {
a1("CAT", 4), a2("DOG", 4);
final String Name;
final int E;
private Animal(String Name, int E) {
this.Name = Name;
this.E = E;
}
public String getName() {
return Name;
}
}
}
你可以使用(字段所以没有括号)
获取名称Animals.Animal.a1.Name
但最好将所有字段设为私有并使用getter:
Animals.Animal.a1.getName()
答案 2 :(得分:0)
如果我理解正确,我相信OP正在问:
“给定一个字符串,”a1“,返回一个类型为Animal的对象,其值为Animal.a1”
...在这种情况下,您正在寻找的方法是Enum.valueOf(Class,String)
String enumName = "a1";
Animal a = Enum.valueOf (Animal.class (enumName));
if (null == a) {
// error handler …
} else {
// do something interesting with “a”
}