Clase de enumeración de caminos de aprendizaje de Java

Clase de enumeración de caminos de aprendizaje de Java

Visión general

En la teoría de las matemáticas y la informática, una enumeración de un conjunto es un programa que enumera todos los miembros de algún conjunto de secuencia finito, o un recuento de objetos de un tipo específico. Estos dos tipos a menudo se superponen. --Wikipedia

El tipo enumerado es parte de las nuevas características de Java 5, es un tipo de datos especial.

Su característica especial es que es un tipo de clase pero tiene más restricciones especiales que los tipos de clase ordinarios, pero la existencia de estas restricciones también crea la simplicidad, seguridad y conveniencia de los tipos de enumeración.

La clase de enumeración tiene las siguientes características:

  • El enumtipo definido siempre se hereda java.lang.Enumy no se puede heredar;
  • enumInstancias que solo se pueden definir , pero que los newoperadores no pueden crear enum;
  • Cada instancia definida es la única instancia del tipo de referencia;
  • Puede utilizar enumtipos para switchdeclaraciones.

Uno, crea una clase de enumeración

En los programas de Java, utilizando la clase de enumeración enumde palabras clave para definir, utilizar una coma entre las diversas constantes definidas , para dividir.

public class Demo {
    
    
    public static void main(String[] args) {
    
    
        System.out.println(Weekday.SUN);
    }
}

enum Weekday {
    
    
    SUN, MON, TUE, WED, THU, FRI, SAT;
}

2. Operaciones comunes

1. name()Método

Devuelve la forma de cadena del nombre de la constante.

System.out.println(Weekday.SUN.name());  // SUN

2. ordinal()Método

Devuelve el valor de índice de la constante.

En la clase de enumeración, cada constante tiene un valor de índice como una matriz, y el valor de índice está relacionado con la posición de la constante. El valor del índice de cambiar el orden de la constante también cambiará.

System.out.println(Weekday.SUN.ordinal());  // 0

3. valueOf()Método

Devuelve la constante de enumeración del valor de cadena especificado.

System.out.println(Weekday.valueOf("SUN"));  // SUN 

4. Atravesar

Podemos experimentar una fordeclaración para atravesar la clase de constantes de enumeración.

for (Weekday var : Weekday.values()) {
    
    
	System.out.print(var + " ");
}  // SUN MON TUE WED THU FRI SAT

5. switchUso en declaraciones

Scanner scan = new Scanner(System.in);

Weekday day = Weekday.valueOf(scan.nextLine());
switch (day) {
    
    
    case SUN:
        System.out.println("SUN");
        break;
    case MON:
        System.out.println("MON");
        break;
    default:
    	System.out.println("Others");
}

Tres, uso avanzado

¿Qué tipo de constantes hay en la clase de enumeración?

Cada constante de la clase de enumeración es en realidad una instancia de la clase de enumeración.

System.out.println(Weekday.SUN.getClass());  // class Weekday

Dado que cada constante es una instancia de una clase de enumeración, los métodos y propiedades definidos en la clase de enumeración también deben aplicarse a cada instancia.

public class Demo {
    
    
    public static void main(String[] args) {
    
    
        System.out.println(Weekday.SUN.getChinese());  // 星期天
    }
}

enum Weekday {
    
    
    SUN("星期天", 7), MON("星期一", 1), TUE("星期二", 2),
    WED("星期bai三", 3), THU("星期四", 4), FRI("星期五", 5),
    SAT("星期六", 6);

    private String chinese;
    private int day;

    Weekday(String name , int day) {
    
    
        this.chinese = name;
        this.day = day;
    }

    public String getChinese() {
    
    
        return chinese;
    }
}

¡Resulta que es factible, por lo que podemos expandir el uso de nuestras constantes agregando propiedades y métodos a la clase de enumeración!

Supongo que te gusta

Origin blog.csdn.net/qq_43580193/article/details/112724489
Recomendado
Clasificación