[RESOLVIDO]Chamada Enum como String

2 respostas
Master.Abs

Gostaria de saber se há alguma maneira de pegar o dado do enum sem a necessidade de utilizar os métodos getDado() ou toString() ou seja fazer apenas a chamada de Importancia.ALTA e o retorno já ser uma String.

Chamada necessária:

String dado = Enum.ATRIBUTO

package br.testes;

enum Importancia{
	ALTA("Imp Alta"),
		MEDIA("Imp Media"),
			BAIXA("Imp Baixa");

	private String dado;	
		
	Importancia(String dado){
		this.dado = dado;
	}
	
	public String getDado(){
		return dado;
	}
	//Sobrescrita para exibir os dados dentro do Enum.
	@Override
	public String toString() {
		return dado.toString();
	}
}

public class EnumTestes {
	public static void main(String[] args) {
		/* 
		 * Gostaria de saber se há alguma maneira de pegar o dado do enum
		 * sem a necessidade de utilizar os métodos getDado() ou toString()
		 * ou seja fazer apenas a chamada de Importancia.ALTA e o
		 * retorno já ser uma String
		 * 
		 */
		String nameGetDado = Importancia.ALTA.getDado(); // Saida Imp Alta
		String nametoString = Importancia.ALTA.toString(); // Saida Imp Alta
		System.out.println(nameGetDado);
		System.out.println(nametoString);
		// Pegar o dado da String dentro do enum sem a necessidade de utilizar outro método na chamada.
		// String nameEnum = Importancia.MEDIA;  
		
		
	}
}

Vlw

2 Respostas

ViniGodoy

Não tem, o java não faz conversão implícita desse jeito. O mais próximo seria:

String dado = "" + Enum.ATRIBUTO;

Agora, o interessante do Enum é justamente o fato dele guardar mais propriedades. Você poderia ter a String com a descrição da importância e um outro campo que retornasse um número, com o grau da importância (por exemplo, 1 para alta, 5 para baixa).

Master.Abs

ViniGodoy:
Não tem, o java não faz conversão implícita desse jeito. O mais próximo seria:

String dado = "" + Enum.ATRIBUTO;


Entendi.
Bom valeu pela ajuda.

No meu caso já possuo descrições que retornam numeros como grau de importancia, e esse foi apenas um exemplo que eu fiz para saber se era possível executar da maneira que eu queria mas Blz.

Valeu pela atenção ai ViniGodoy.
Flw

Criado 25 de março de 2011
Ultima resposta 25 de mar. de 2011
Respostas 2
Participantes 2