Enum  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Bruno Lacerda
JavaEvangelist
[Avatar]

Membro desde: 16/07/2007 11:17:52
Mensagens: 371
Localização: Rio de Janeiro
Offline

Hi!
Pessoal, criei um enum com os meses do ano.


Eu quero que, dependendo do enum que eu estiver utilizando eu possa obter além da string que ele representa, um valo atrelado a ele.

Tipo, JANUARY, atrelar a ele o valor numérico 1.

Entenderam?

A morte do homem começa no instante em que ele desiste de aprender.
wbdsjunior
GUJ Ranger
[Avatar]

Membro desde: 16/04/2008 13:48:08
Mensagens: 908
Localização: Indaiatuba/SP
Offline

Bruno Lacerda wrote:Hi!
Pessoal, criei um enum com os meses do ano.


Eu quero que, dependendo do enum que eu estiver utilizando eu possa obter além da string que ele representa, um valo atrelado a ele.

Tipo, JANUARY, atrelar a ele o valor numérico 1.

Entenderam?


você pode fazer isso de duas formas:

sobrescrevendo o método toString do enum ou criando atributos dentro do enum:


não testei, mas acho que é mais ou menos por aí.

abraço

She loves me

http://lmgtfy.com
[Yahoo!] [MSN]
davidtiagoconceicao
Virtual Machine Man
[Avatar]

Membro desde: 17/10/2008 07:28:29
Mensagens: 567
Localização: Blumenau - SC
Offline

Utilize atributos no enum.
Um exemplo criando um atributo para o número do mês:


Bacharel em Ciência da Computação/FURB
SCJP 6
Android Developer
davidtiagoconceicao
Virtual Machine Man
[Avatar]

Membro desde: 17/10/2008 07:28:29
Mensagens: 567
Localização: Blumenau - SC
Offline

Ocorreu um erro e pensei que não havia enviado a mensagem anterior...

This message was edited 1 time. Last update was at 02/04/2009 15:03:25


Bacharel em Ciência da Computação/FURB
SCJP 6
Android Developer
Marky.Vasconcelos
Moderador
[Avatar]

Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline

Voce pode fazer isso também.



Depois voce pode ter por exemplo


Que vai mostrar 1 assim como voce quer.

This message was edited 1 time. Last update was at 02/04/2009 15:04:42


Facebook @MarkyHitchhiker +Mark WP: MarkyTech's

Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais

DefaultTableModel?! PARE! Não faça isso! Faça melhor!

Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)

Develop games is fantastic, with words you can make worlds!!!

DON'T PANIC!
MarkyHitchhiker's Blog!
[WWW] [MSN]
henriquedamota
JavaChild
[Avatar]

Membro desde: 24/05/2007 01:19:12
Mensagens: 123
Offline

Fala ai meu.

Faz algo parecido com isso:





Abraços.

This message was edited 2 times. Last update was at 02/04/2009 15:06:04


Henrique da Mota Silveira
Análise e Desenvolvimento de Sistema - FT - UNICAMP 2008
[MSN]
pango
Virtual Machine Man

Membro desde: 20/08/2005 16:31:37
Mensagens: 556
Localização: Pangolândia
Offline

This message was edited 1 time. Last update was at 02/04/2009 15:05:17


programmer.setFucked(user.isStupid());
Sun Certified Java Programmer 1.4
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

http://java.sun.com/j2se/1.5.0/docs/guide/language/enums.html

De qualquer maneira, se você quiser aceitar o valor numérico default (0 = JANUARY etc. ) e for preguiçoso, você pode usar [url=http://java.sun.com/javase/6/docs/api/java/lang/Enum.html#ordinal()]Enum.ordinal[url]. Exemplo:
[WWW]
Bruno Lacerda
JavaEvangelist
[Avatar]

Membro desde: 16/07/2007 11:17:52
Mensagens: 371
Localização: Rio de Janeiro
Offline

Valeu galera!!!

A morte do homem começa no instante em que ele desiste de aprender.
ceceu
Debugger
[Avatar]

Membro desde: 19/12/2008 14:27:56
Mensagens: 67
Offline

davidtiagoconceicao wrote:Utilize atributos no enum.
Um exemplo criando um atributo para o número do mês:



Amigo no seu teste está saindo:

1
2
3
4
5
6
7
8
9
10
11
12

bom, se eu quizer que saia

Janeiro
Fevereiro
Março
Abril
...etc


como que eu faria: ?

Iniciante no mundo Java e Java Web.
[Email] [Yahoo!] [MSN]
Bruno Lacerda
JavaEvangelist
[Avatar]

Membro desde: 16/07/2007 11:17:52
Mensagens: 371
Localização: Rio de Janeiro
Offline

Assim


A morte do homem começa no instante em que ele desiste de aprender.
alexfmjr
Thread.start()

Membro desde: 12/05/2009 08:57:53
Mensagens: 29
Localização: Campinas
Offline

Se vc quiser o nome é só colocar o campo ENUM que deseja, seguindo o exemplo anterior:

public class TestaEnum {
enum MonthName {
JANUARY(1), FEBRUARY(2), MARCH(3), APRIL(4), MAY(5), JUNE(6), JULY(7), AUGUST(8), SEPTEMBER(9), OCTOBER(10), NOVEMBER(11), DECEMBER(12); //o número depois do valor representa o parâmtro passado para o contrutor

int monthNumber; // Atributo que irá guardar o número do mês

MonthName(int number) { // Construtor
monthNumber = number;
}

int getMonthNumber() { // getter do atributo
return monthNumber;
}
}

public static void main(String[] args) {
MonthName names[] = MonthName.values();
for (MonthName month : names) {
System.out.println(month + " - " + month.getMonthNumber());
}
}
}


dessa forma irá imprimir:
JANUARY - 1
FEBRUARY - 2
MARCH - 3
APRIL - 4
MAY - 5
JUNE - 6
JULY - 7
AUGUST - 8
SEPTEMBER - 9
OCTOBER - 10
NOVEMBER - 11
DECEMBER - 12


Abraço

Sun Certified Java Programmer 5.0
[Email] [MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team