Help pra eu dormir! hehehe - dúvida sobre enum

Help me… Senão não vou dormir hoje hehehe…

não tou conseguindo comparar o valor do enum usando equals…

Veja meu código:

@SuppressWarnings("static-access") public static void main(String[] args) { String x="Sim"; if ((MudaStatus.SIM).equals(x) ? true : false){ System.out.println("Caralho funcionou!"); } else{ System.out.println(MudaStatus.NAO); } }

e o enum:

[code]package br.edu.andredecotia.scjp6.testes;

public enum MudaStatus{

SIM("Sim"), NAO("Não"); 



private MudaStatus(String teste){	
}

}[/code]

Um enum é sempre diferente de uma string, não?

Você pode fazer assim champz

...
String x = "SIM";
MudaStatus m = MudaStatus.valueOf(x);
...

Nossa… não entendí…

Uma banana amarela é igual a uma laranja amarela?

Não. Bananas são bananas, laranjas são laranjas.

Um MudaStatus.SIM, é igual a uma String com a palavra “sim”?

Não. MudaStatus são MudaStatus, Strings são Strings.

ta errado

tava errado

tava errado

Oi andredecotia,

Algumas dicas:

1 - Não se esforce tanto;
2 - Procure não ficar estudando até muito tarde (Tendo em vista que você praticou e estudou durante o dia inteiro);
3 - Procure ter boas noites de sono;
4 - Tome um excelente café pela manhã, ou tome sorvete. Isso fará com que execute a função start() na Thread de seu Cérebro;
5 - Faça intervalos em seus estudos;

Estou vendo que está se matando em estudar… provavelmente irá fazer uma prova de certificação ou algo assim. Porém, tenha calma e não entre em PANICO! :wink:

Tchauzin!

Oi Wellington, como vai?

Muitíssimo obrigado pelo help… Quase não dormí ontem à noite… hehehe…

Valeu pessoal pela força…
abraços,
André AS :smiley:

[quote=lina]Oi andredecotia,

Algumas dicas:

1 - Não se esforce tanto;
2 - Procure não ficar estudando até muito tarde (Tendo em vista que você praticou e estudou durante o dia inteiro);
3 - Procure ter boas noites de sono;
4 - Tome um excelente café pela manhã, ou tome sorvete. Isso fará com que execute a função start() na Thread de seu Cérebro;
5 - Faça intervalos em seus estudos;

Estou vendo que está se matando em estudar… provavelmente irá fazer uma prova de certificação ou algo assim. Porém, tenha calma e não entre em PANICO! :wink:

Tchauzin![/quote]

Sinceramente, dei boas risadas, principalmente com a opção número 4.
Mas são dicas preciosas que acredito que você deveria seguir.

E realmente, quando é a SCJP hein champ? :slight_smile:
Abraços.

Devo confessar que dei umas risadas tb quando lí… hehehe :smiley: e é verdade hehehe… Minha prova já está marcada pro dia 24/09 lá na Av. Paulista… Se Deus
quiser dará certo… Sou muitíssimo agradecido a todos vocês que estão me ajudando…

Forte abraço,
André AS

Pq vc fez um ternário no teu if?!..

Bem, indo a tua pergunta,
O pessoal tem razão. Vc está tentando comparar coisas distintas.
Ou vc obtem um MudaStatus baseado no valor “SIM” ou “NÃO” ou vc cria um método para obter esse valor do enum.

No caso, teu enum está mal implementado para o uso que vc quer :stuck_out_tongue:

[code]public enum MudaStatus{

SIM("Sim"), NAO("Não");   
   
private String teste;
   
private MudaStatus(String teste){     
    this.teste = teste; //Faltou atribuir ao atributo (que também não existia)
}

//faltou algo assim
public String getTeste() {
    return teste;
}

}[/code]
No teu if:

==================================================================
outra forma seria:

[code]String x = “SIM”; //Escrito da MESMA forma que o enum
MudaStatus status = MudaStatus.valueOf(x);

//Aí o teu if seria:
if ((MudaStatus.SIM).equals(status))[/code]
E teu enum seria mais simples:

public enum MudaStatus{ SIM, NAO; }