values()方法是编译器插入到enum定义中的static方法,所以,当你将enum实例向上转型为父类Enum是,values()就不可访问了。解决办法:在Class中有一个getEnumConstants()方法,所以即便Enum接口中没有values()方法,我们仍然可以通过Class对象取得所有的enum实例
关于详细的说明可以参考:
>
enum 枚举类还是你 Enumeration
如果是枚举类型 例如 定义一个枚举类
public Enum En{
A , B, C
}
在主方法中打印出来
for(int i=0;i<Enum_001values()length;i++)
Systemoutprint(Enum_001values()[i]+",");
}
如果是Enumeration
while(enuhasMoreElements()){
enunextElement(); /返回一个对象类 ,具体范围的对象就是你把1,2,3存储的位置
}
这样就可以打印出来你要求的
用二维数组存储你的 code和label。
伪代如下:
public class Test{private String [][] name = {{"first","1"},{"second","2"},{"third","3"}};
//该函数获取code值
public getInput(){}
public String search(){
for(int i=0;i<namelength;i++){ //对于二维数组的每一个元素
if(thisgetInput() == name[i][1]){ //对比code和第二个值
return name[i][0]; //找到则返回
}
else { //没有找到
return "Not Found";
}
}
}
赋值必须给枚举类增加成员属性,再给用构造方法成员属性赋值。
public class Test{
static public enum TestEnum{
E_A("aa"),
E_B("bb"),
E_C("cc");
public final String text;
TestEnum(String t){
text=t;
}
}
public static void main(String[] args){
for(TestEnum e : TestEnumvalues())
Systemoutprintln(e+" "+etext);
}
}
======
E_A aa
E_B bb
E_C cc
以上就是关于java中enum的values()方法定义在哪里呢全部的内容,包括:java中enum的values()方法定义在哪里呢、java自定义httpstatus枚举值、在java中如何打印出enum中名称的值,就是打印出0,1,2,3等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)