Java中如何调用枚举类中的数组
我在一个枚举类A中定义了一个数组int[]b并赋值,这个数组是public的,然后我如何在普通类C中调用这个数组呢?...
我在一个枚举类A中定义了一个数组int[] b 并赋值,这个数组是public的,然后我如何在普通类C中调用这个数组呢?
展开
1个回答
推荐于2017-12-16
展开全部
values()是枚举定义的一个静态方法。
示例代码:
enum A{
b,a;
}
static final class A extends Enum{
public static A[] values(){
A aa[];
int i;
A aa1[];
System.arraycopy(aa = ENUM$VALUES, 0, aa1 = new A[i = aa.length], 0, i);
return aa1;
}
public static A valueOf(String s){
return (A)Enum.valueOf(com/taobao/et/biz/Test$A, s);
}
public static final A b;
public static final A a;
private static final A ENUM$VALUES[];
static {
b = new A("b", 0);
a = new A("a", 1);
ENUM$VALUES = (new A[] {
b, a
});
}
private A(String s, int i) {
super(s, i);
}
}
两个静态方法“隐藏”在所有枚举类型声明中。因为它们是枚举子类上的静态方法,而不是Enum本身的方法,所以它们在java.lang.Enum的javadoc中没有出现。
第一个是values(),返回一个枚举类型所有可能值的数组。
第二个是valueOf(String arg0),为提供的字符串返回一个枚举类型,该枚举类型必须精确地匹配源代码声明。
示例代码:
enum A{
b,a;
}
static final class A extends Enum{
public static A[] values(){
A aa[];
int i;
A aa1[];
System.arraycopy(aa = ENUM$VALUES, 0, aa1 = new A[i = aa.length], 0, i);
return aa1;
}
public static A valueOf(String s){
return (A)Enum.valueOf(com/taobao/et/biz/Test$A, s);
}
public static final A b;
public static final A a;
private static final A ENUM$VALUES[];
static {
b = new A("b", 0);
a = new A("a", 1);
ENUM$VALUES = (new A[] {
b, a
});
}
private A(String s, int i) {
super(s, i);
}
}
两个静态方法“隐藏”在所有枚举类型声明中。因为它们是枚举子类上的静态方法,而不是Enum本身的方法,所以它们在java.lang.Enum的javadoc中没有出现。
第一个是values(),返回一个枚举类型所有可能值的数组。
第二个是valueOf(String arg0),为提供的字符串返回一个枚举类型,该枚举类型必须精确地匹配源代码声明。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询