Introducción
En este laboratorio, aprenderás sobre los enum en Java. Los enum son un tipo de datos especial en Java que nos permite definir un conjunto fijo de constantes. Aprenderás cómo crear, usar y manipular enum en Java.
💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí
En este laboratorio, aprenderás sobre los enum en Java. Los enum son un tipo de datos especial en Java que nos permite definir un conjunto fijo de constantes. Aprenderás cómo crear, usar y manipular enum en Java.
StudentResult.java
en el directorio ~/project
.StudentResult
:public enum StudentResult {
PASS,
FAIL,
ABSENT
}
Demo.java
en el directorio ~/project
.StudentResult
y usar sus valores:public class Demo {
public static void main(String[] args) {
StudentResult result1 = StudentResult.ABSENT;
StudentResult result2 = StudentResult.FAIL;
StudentResult result3 = StudentResult.PASS;
System.out.println(result1);
System.out.println(result2);
System.out.println(result3);
}
}
javac Demo.java && java Demo
StudentResult
con instrucciones if-else:public class Demo {
public static void main(String[] args) {
StudentResult result = StudentResult.FAIL;
if(result == StudentResult.ABSENT)
System.out.println("The student was absent for the exam.");
else if(result == StudentResult.PASS)
System.out.println("The student passed the exam.");
else if(result == StudentResult.FAIL)
System.out.println("The student failed the exam.");
}
}
StudentResult
con instrucciones switch:public class Demo {
public static void main(String[] args) {
StudentResult result = StudentResult.FAIL;
switch(result) {
case ABSENT : System.out.println("The Student was absent for the exam.");
break;
case PASS : System.out.println("The Student passed the exam.");
break;
case FAIL : System.out.println("The Student failed the exam.");
break;
}
}
}
StudentResult
:public class Demo {
public static void main(String[] args) {
StudentResult[] resultArr = StudentResult.values();
for(StudentResult sr : resultArr) {
System.out.println(sr + " at index " + sr.ordinal());
}
}
}
toString()
de los enums:public class Demo {
public static void main(String[] args) {
for(StudentResult sr : StudentResult.values()) {
String resultStr = sr.toString();
System.out.println("Uppercase: " + resultStr);
System.out.println("Lowercase: " + resultStr.toLowerCase());
System.out.println();
}
}
}
public class Demo {
public static void main(String[] args) {
String resultStr = "FAIL";
StudentResult result = StudentResult.valueOf(resultStr);
System.out.print("Enum from String: " + result);
}
}
javac Demo.java && java Demo
public class Student {
String name;
StudentResult result;
// Definiendo un tipo de enum
enum StudentResult {
PASS,
FAIL,
ABSENT;
}
// Constructor
Student(String s, StudentResult sr) {
name = s;
result = sr;
}
// Método if-else del enum
public void printResult() {
if (this.result == StudentResult.ABSENT)
System.out.println(this.name + " was absent for the exam.");
else if (this.result == StudentResult.PASS)
System.out.println(this.name + " passed the exam.");
else
System.out.println(this.name + " failed the exam.");
}
// Método del enum
public boolean wasAbsent() {
if (this.result == StudentResult.ABSENT)
return true;
else
return false;
}
// Método principal
public static void main(String[] args) {
Student s1 = new Student("Justin", StudentResult.ABSENT);
Student s2 = new Student("Jessica", StudentResult.PASS);
s1.printResult();
s2.printResult();
System.out.println("Student s1 was absent: " + s1.wasAbsent());
}
}
javac Student.java && javac Demo.java && java Student
import java.util.EnumSet;
enum StudentResult {
PASS,
FAIL,
ABSENT;
}
public class Demo {
public static void main(String[] args) {
EnumSet<StudentResult> resultSet1 = EnumSet.of(StudentResult.FAIL, StudentResult.PASS);
EnumSet<StudentResult> resultSet2 = EnumSet.allOf(StudentResult.class);
System.out.println("Enum Set-1: " + resultSet1);
System.out.print("Enum Set-2: " + resultSet2);
}
}
import java.util.EnumMap;
import java.util.Map;
enum StudentResult {
PASS,
FAIL,
ABSENT;
}
public class Demo {
public static void main(String[] args) {
EnumMap<StudentResult, String> resultMap = new EnumMap<>(StudentResult.class);
resultMap.put(StudentResult.PASS, "Student Passed the exam");
resultMap.put(StudentResult.FAIL, "Student Failed the exam");
resultMap.put(StudentResult.ABSENT, "Student was absent for the exam");
for (Map.Entry<StudentResult, String> e : resultMap.entrySet())
System.out.println(e.getKey() + " --> " + e.getValue());
}
}
En este laboratorio, aprendiste cómo crear un enum, usarlo con declaraciones if-else y switch, iterar sobre un enum, usar su método toString(), crear enums a partir de cadenas, crear un enum dentro de una clase, usar EnumSet para almacenar eficientemente constantes de enum, usar EnumMaps para almacenar pares clave-valor de enums y usar métodos concretos y abstractos en enums. También aprendiste que los enums se usan para definir una colección de valores constantes y que aumentan la seguridad tipada en Java.