Autor Tema: Duda sobre creación variable Enum en Java cómo funciona método values CU00682B  (Leído 2513 veces)

messi

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Hola a tod@s,

En la "Entrega nº81 del curso "Aprender programación Java desde cero", hay un segmento de código de creación de una variable Enum que me presenta una duda. En la linea "TipoDeMadera miTipoDeMadera = TipoDeMadera.CAOBA" le estoy asignando a la variable miTipoDeMadera uno de los valores posibles declarados en el tipo Enum TipoDeMadera. Despues, en el siguiente for hace uso de la variable de la forma miTipoDeMadera.values() , y el resultado por pantalla es que salen todos los valores del tipo Enum TipoDeMadera. La pregunta es ¿no debería aparecer SOLO el valor que se le asignó CAOBA?. Gracias.

 
Código: [Seleccionar]
//Ejemplo aprenderaprogramar.com

public class TestEnum2 {

    public static void main (String[ ] Args) {

        TipoDeMadera miTipoDeMadera = TipoDeMadera.CAOBA;    //El tipo lo definimos en otra clase como public enum

        System.out.println ("Los posibles tipos de madera son: ");

        for (TipoDeMadera tmp: miTipoDeMadera.values() ) {

            System.out.print(tmp.toString()+"\t");   }  //Ejemplo de uso de print con tabulador \t

    } //Cierre del main

} //Cierre de la clase
« Última modificación: 07 de Agosto 2016, 15:56 por Alex Rodríguez »

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Re:Duda sobre creación variable Enum
« Respuesta #1 en: 06 de Agosto 2016, 19:00 »
Hola que tal para que tu código sea mas atendible y organiza ble tenes que leer el reglamento de como publicar en el foro que esta en este link.
https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola messi, incluye siempre por favor el código de la entrega a la que te refieras, por ejemplo en este caso CU00682B

values() devuelve todos los tipos posibles que puede adquirir la variable, esto es una especificación del lenguaje Java

https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html

All the constants of an enum type can be obtained by calling the implicit public static T[] values() method of that type.

Por tanto aunque la variable tenga asignado un tipo como TipoDeMadera.CAOBA, lo que nos devuelve values() son todos los tipos posibles que podría tener esa variable

Saludos

messi

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Muchas gracias Alex por la respuesta! . También la próxima vez intentaré seguir el reglamento para publicar mensajes.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".