Duvida: Exibir todos os itens do ENUM

5 respostas
Allan2M

O codigo abaixo deveria exibir a lista dos 3 dias da semana que estão listados no enum
Porem isso não aconteçe

public class Aplicação {

	public enum DiasDaSemana {
		SEGUNDA,
		TERÇA,
		QUARTA
	}
	
	public static void main(String[] args) {
	
	DiasDaSemana[] array = DiasDaSemana.values();
	System.out.println(array.toString());
}
}

Quando executo o codigo abaixo ele me da a seguinte resposta:

[LAplicação$DiasDaSemana;@19821f

Eu ja ouvi sobre isso no curso, mas, se não me engano, a solução era por .toString().
Mesmo depois de colocado .toString() não foi exebido a lista dos 3 dias da semana

5 Respostas

S

o array na verdade é um objeto e vc está imprimindo o hashcode dele.

segue o código corrigido :wink:
public class Aplicacao {

	public enum DiasDaSemana {
		SEGUNDA, TERÇA, QUARTA
	}

	public static void main(String[] args) {

		DiasDaSemana[] array = DiasDaSemana.values();
		System.out.println(array[0]);
		System.out.println(array[1]);
		System.out.println(array[2]);
	}
}
F
public  class Aplicacao {  
   
     public enum DiasDaSemana {  
         SEGUNDA,  
         TERÇA,  
         QUARTA  
     }  
       
     public static void main(String[] args) {  
       
     DiasDaSemana[] array = DiasDaSemana.values();  
     for(int i = 0 ;i< array.length ; i++){
    	 System.out.println(array[i]);  
     }
 
 }  
 }
evertonsilvagomesjav
Allan2M:
O codigo abaixo deveria exibir a lista dos 3 dias da semana que estão listados no enum Porem isso não aconteçe
public class Aplicação {

	public enum DiasDaSemana {
		SEGUNDA,
		TERÇA,
		QUARTA
	}
	
	public static void main(String[] args) {
	
	DiasDaSemana[] array = DiasDaSemana.values();
	System.out.println(array.toString());
}
}

Quando executo o codigo abaixo ele me da a seguinte resposta:

[LAplicação$DiasDaSemana;@19821f

Eu ja ouvi sobre isso no curso, mas, se não me engano, a solução era por .toString().
Mesmo depois de colocado .toString() não foi exebido a lista dos 3 dias da semana

DiasDaSemana[] array = DiasDaSemana.values();
         for(DiasDaSemana dias : array){
                // imprimi dias
         }
Allan2M
silvaesouza:
o array na verdade é um objeto e vc está imprimindo o hashcode dele. segue o código corrigido :wink:
public class Aplicacao {

	public enum DiasDaSemana {
		SEGUNDA, TERÇA, QUARTA
	}

	public static void main(String[] args) {

		DiasDaSemana[] array = DiasDaSemana.values();
		System.out.println(array[0]);
		System.out.println(array[1]);
		System.out.println(array[2]);
	}
}

Funcionou, agora ja entendi como funciona, cada item do enum vai dentro do array e o numero é por ordem que eles estão :D

Muito obrigado silvaesouza.

1. public  class  Aplicacao {    
   2.     
   3.     public enum DiasDaSemana {    
   4.         SEGUNDA,    
   5.         TERÇA,    
   6.         QUARTA    
   7.     }    
   8.         
   9.     public static void main(String[] args) {    
  10.         
  11.     DiasDaSemana[] array = DiasDaSemana.values();    
  12.     for(int i = 0 ;i< array.length ; i++){  
  13.      System.out.println(array[i]);    
  14.     }  
  15.   
  16. }    
  17. }

fhsantiago achei sua solução MUITISSIMO interessante, é otima para quem tem varias opções no enum, achei muito legal, só tenho 1 duvida

;i< array.length, nesse caso array.lengh é até onde vai as opções do enum? é como se eu colocasse (neste exemplo) i< 4?

F

é o tamanho da sua lista de dias da semana. vc colocando o valor fixo nao fica bom pq se algum dia adicionar mais um item no enum o codigo nao funciona. fazendo como fiz qualquer alttercao no enum sempre vai continuar funcionando.

um abraco;

Criado 20 de abril de 2010
Ultima resposta 20 de abr. de 2010
Respostas 5
Participantes 4