Java中如何调用枚举类中的数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中如何调用枚举类中的数组相关的知识,希望对你有一定的参考价值。

我在一个枚举类A中定义了一个数组int[] b 并赋值,这个数组是public的,然后我如何在普通类C中调用这个数组呢?

参考技术A 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),为提供的字符串返回一个枚举类型,该枚举类型必须精确地匹配源代码声明。本回答被提问者和网友采纳

java中的枚举是啥意思?

参考技术A Java的Enumeration(枚举,注释②)便是具有这些限制的一个反复器的例子。除下面这些外,不可再用它做其他任何事情:
(1)
用一个名为elements()的方法要求集合为我们提供一个Enumeration。我们首次调用它的nextElement()时,这个Enumeration会返回序列中的第一个元素。
(2)
用nextElement()获得下一个对象。
(3)
用hasMoreElements()检查序列中是否还有更多的对象。
②:“反复器”这个词在C++和OOP的其他地方是经常出现的,所以很难确定为什么Java的开发者采用了这样一个奇怪的名字。Java
1.2的集合库修正了这个问题以及其他许多问题。

以上是关于Java中如何调用枚举类中的数组的主要内容,如果未能解决你的问题,请参考以下文章

在Java中,类中的枚举类型是静态的吗?

java 枚举数组的问题

Java中的静态和枚举

如何使用在同一类的基模板中的类中声明的枚举

java中的枚举类型指的是啥啊?

这是Java中正确的枚举实践吗?