Java : Enum con ejemplos
Enum (Java SE 22 & JDK 22) en Java con ejemplos.
Encontrará muestras de código para la mayoría de los métodos Enum<E extends Enum<E>>.
Nota :
- Este artículo puede utilizar software de traducción para su comodidad. Consulte también la versión original en inglés.
Summary
Esta es la clase base común de todas las clases de enumeración del lenguaje Java. Puede encontrar más información sobre enumeraciones, incluidas descripciones de los métodos declarados implícitamente sintetizados por el compilador, en la sección 8.9 de La especificación del lenguaje Java. (Traducción automática)
enum Sample {
AAA,
BBB,
CCC,
}
System.out.println(Sample.AAA.name()); // AAA
System.out.println(Sample.AAA.ordinal()); // 0
System.out.println(Sample.BBB.name()); // BBB
System.out.println(Sample.BBB.ordinal()); // 1
System.out.println(Sample.CCC.name()); // CCC
System.out.println(Sample.CCC.ordinal()); // 2
Enum classes have implicitly declared methods below.
- public static T valueOf (String)
- public static T[] values ()
final Sample aaa = Sample.valueOf("AAA");
System.out.println(aaa); // AAA
final Sample[] values = Sample.values();
System.out.println(Arrays.toString(values)); // [AAA, BBB, CCC]
More information about enums, you can be found in section 8.9 of The Java Language Specification.
Constructors
Enum (String name, int ordinal)
Único constructor. (Traducción automática)
Programmers can't invoke this constructor.
Methods
protected final Object clone ()
Lanza CloneNotSupportedException. (Traducción automática)
enum Sample {
AAA, BBB, CCC;
public void func() {
System.out.println("func! : " + name());
try {
clone();
} catch (CloneNotSupportedException e) {
System.out.println("CloneNotSupportedException!");
}
}
}
Sample.AAA.func();
// Result
// ↓
//func! : AAA
//CloneNotSupportedException!
final int compareTo (E o)
Compara esta enumeración con el objeto especificado para el pedido. (Traducción automática)
enum SampleX {
AAA,
BBB,
CCC,
}
enum SampleY {
CCC,
BBB,
AAA,
}
System.out.println(SampleX.AAA.compareTo(SampleX.AAA)); // 0
System.out.println(SampleX.AAA.compareTo(SampleX.BBB)); // -1
System.out.println(SampleX.AAA.compareTo(SampleX.CCC)); // -2
System.out.println(SampleY.AAA.compareTo(SampleY.AAA)); // 0
System.out.println(SampleY.AAA.compareTo(SampleY.BBB)); // 1
System.out.println(SampleY.AAA.compareTo(SampleY.CCC)); // 2
final Optional<Enum.EnumDesc<E>> describeConstable ()
Devuelve un descriptor de enumeración EnumDesc para esta instancia, si se puede construir uno, o un Opcional vacío si no se puede construir. (Traducción automática)
enum Sample {
AAA,
BBB,
}
final var ret = Sample.AAA.describeConstable();
System.out.println(ret); // Optional[EnumDesc[Sample.AAA]]
final boolean equals (Object other)
Devuelve verdadero si el objeto especificado es igual a esta constante de enumeración. (Traducción automática)
enum SampleX {
AAA,
BBB,
}
enum SampleY {
AAA,
BBB,
}
System.out.println(SampleX.AAA.equals(SampleX.AAA)); // true
System.out.println(SampleX.AAA.equals(SampleX.BBB)); // false
System.out.println(SampleY.AAA.equals(SampleY.AAA)); // true
System.out.println(SampleY.AAA.equals(SampleY.BBB)); // false
System.out.println(SampleX.AAA.equals(SampleY.AAA)); // false
System.out.println(SampleY.BBB.equals(SampleX.BBB)); // false
protected final void finalize ()
En desuso, para su eliminación: este elemento API está sujeto a eliminación en una versión futura. La finalización ha quedado obsoleta para su eliminación. (Traducción automática)
Deprecated.
final Class<E> getDeclaringClass ()
Devuelve el objeto Class correspondiente al tipo de enumeración de esta constante de enumeración. (Traducción automática)
enum Sample {
AAA,
BBB,
}
final var decA = Sample.AAA.getDeclaringClass();
System.out.println(decA); // class Sample
final var decB = Sample.BBB.getDeclaringClass();
System.out.println(decB); // class Sample
System.out.println(decA == decB); // true
final int hashCode ()
Devuelve un código hash para esta constante de enumeración. (Traducción automática)
enum Sample {
AAA,
BBB,
CCC,
}
System.out.println(Sample.AAA.hashCode()); // 648786246
System.out.println(Sample.BBB.hashCode()); // 120360571
System.out.println(Sample.CCC.hashCode()); // 1710814638
final String name ()
Devuelve el nombre de esta constante de enumeración, exactamente como se declara en su declaración de enumeración. (Traducción automática)
The API documentation says "Most programmers should use the toString() method in preference to this one".
enum Sample {
AAA,
BBB,
CCC,
}
System.out.println(Sample.AAA.name()); // AAA
System.out.println(Sample.BBB.name()); // BBB
System.out.println(Sample.CCC.name()); // CCC
final int ordinal ()
Devuelve el ordinal de esta constante de enumeración (su posición en su declaración de enumeración, donde a la constante inicial se le asigna un ordinal de cero). (Traducción automática)
enum Sample {
AAA,
BBB,
CCC,
}
System.out.println(Sample.AAA.ordinal()); // 0
System.out.println(Sample.BBB.ordinal()); // 1
System.out.println(Sample.CCC.ordinal()); // 2
String toString ()
Devuelve el nombre de esta constante de enumeración, tal como figura en la declaración. (Traducción automática)
enum Sample {
AAA,
BBB,
CCC,
}
final var str1 = Sample.AAA.toString();
System.out.println(str1); // AAA
final var str2 = Sample.BBB.toString();
System.out.println(str2); // BBB
final var str3 = Sample.CCC.toString();
System.out.println(str3); // CCC
static <T extends Enum<T>> T valueOf (Class<T> enumClass, String name)
Devuelve la constante de enumeración de la clase de enumeración especificada con el nombre especificado. (Traducción automática)
enum Sample {
AAA,
BBB,
CCC,
}
final var aaa = Enum.valueOf(Sample.class, "AAA");
System.out.println(aaa); // AAA
final var bbb = Enum.valueOf(Sample.class, "BBB");
System.out.println(bbb); // BBB
try {
Enum.valueOf(Sample.class, "ZZZ");
} catch (IllegalArgumentException e) {
System.out.println("IllegalArgumentException! : " + e.getMessage());
}
// Result
// ↓
//IllegalArgumentException! : No enum constant null.ZZZ
Instead, it would be better to use the following method.
- public static T valueOf (String)
final var aaa = Sample.valueOf("AAA");
System.out.println(aaa); // AAA
Related posts
- Ejemplos de API