Enum - é Possivel adcionar opções? [RESOLVIDO]

8 respostas
M

Bom dia,

tenho a seguinte class enum

public enum Cursos {

		INFORMATICA, GESTAO, CONTABILIDADE; 
}

Gostaria de saber se existe alguma forma de adicionar novos cursos na enum.

Queria tb ajuda na forma de inserir esses valores nesta ComboBox SWT

Combo combo = new Combo(shlSgeRegista, SWT.NONE);
		combo.setItems(new String[] {"Tp1", "TP2", "TPPL"});
		combo.setBounds(108, 116, 91, 23);

8 Respostas

F

Que tipo de recurso ?
Métodos?
se for isso, sim você pode.

M

fcoromoto, vc pode me ajudar com o método?

F
//Delcaração de um ENUM
enum Size{

	//Atributos
	SMALL,	
	MEDIUM,
	LARGE{

		//Estou sobreescrevendo o metodo getPreco()
		public Double getPreco(){
			return 20.00;
		}
	};

	//Os outros (SMALL,MEDIUM) irão usar esse metodo
	public Double getPreco(){
			return 15.00;
	}

}

public class Loja{
	Size size;

	public static void main(String[] args){
		Loja loja = new Loja();

		loja.size = Size.SMALL;

		System.out.println(loja.size.getPreco());
	}
}

:)

F

http://serjaum.wordpress.com/2009/07/21/enumeration-em-java/

o cara deu uma explicada bem legal.

rafadelnero

Além de usar métodos também é possível usar construtores, o enum é legal porque podemos definir um conjunto de constantes em nossos sistemas por exemplo, uma lista de estados, cidades, países, em vez de colocar esses valores no banco de dados.

M

Valeu

Obrigado a todos

WellingtonRamos
mak1974:
Bom dia,

tenho a seguinte class enum

public enum Cursos {

		INFORMATICA, GESTAO, CONTABILIDADE; 
}

Gostaria de saber se existe alguma forma de adicionar novos cursos na enum.

Queria tb ajuda na forma de inserir esses valores nesta ComboBox SWT

Combo combo = new Combo(shlSgeRegista, SWT.NONE);
		combo.setItems(new String[] {"Tp1", "TP2", "TPPL"});
		combo.setBounds(108, 116, 91, 23);

Claro que é possível. Só editar o arquivo e adicionar novos itens nele. De outra forma, não dá. (na verdade, deve ser possível editando diretamente o bytecode do .class mas não recomendo esse caminho).

Vc quer popular a combo com os itens do enum?

public class EnumTest {

	enum Teste {
		valor1,
		valor2,
		valor3
	}
	
	public static void main(String[] args) {
		Teste[] values = Teste.values();
		
		String[] valuesStr = new String[values.length];
		
		for (int i = 0 ; i < values.length ; ++i) {
			valuesStr[i] = values[i].toString();
		}
		
		for (String string : valuesStr) {
			System.out.println(string);
		}
	}
}
WellingtonRamos

A sim, só pra complementar, ao adicionar itens no enum, adicione SEMPRE no final dos itens:

public enum Cursos { INFORMATICA, GESTAO, CONTABILIDADE; }

public enum Cursos { INFORMATICA, GESTAO, CONTABILIDADE, ADMINISTRACAO; }

Criado 1 de fevereiro de 2013
Ultima resposta 1 de fev. de 2013
Respostas 8
Participantes 4