Problemas com o enum

6 respostas
G

Bom dia a todos.

Estou usando um código (descrito abaixo) para testar o enum do java, mas não está funcionando.
O que está errado ?

public Enum Season {

      private final int value;
      
      winter(0),
      spring(15),
      summer(54),
      fall(30);

      Season(int value) {
         this.value = value;
      }

      public int value() {
         return this.value;
      }
   }

6 Respostas

B

Ola

A keyword de “enum” é “enum”, sem a letra maiuscula… verifique em “public enum Season”…

B

Outra… coloque a declaração de seu atributo de classe depois da declaração dos enums… pq ele pode tentar endender que o atributo é um enum tb… enão ficaria assim:

public enum Season {

       winter(0),
      spring(15),
      summer(54),
      fall(30);

       private final int value;
       
      Season(int value) {
         this.value = value;
      }

      public int value() {
         return this.value;
      }
   }
F

Cara, da uma olhada aqui

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

G

Obrigado a todos.

Queria só esclarecer mais uma dúvida quanto ao enum.

Como resolver a situação onde se queira compor o valor do enum com outro enum. Vide código abaixo:

public enum Season {
      
      winter(0),
      spring(15),
      summer(54 + Season.spring),
      fall(30);

      private final int value;
      
      Season(int value) {
         this.value = value;
      }

      public int value() {
         return this.value;
      }
   }

A linha do enum summer não funciona. Como é possível acertar isso?

Obrigado.

F

Tenta assim…

public enum Season {
      
      winter(0),
      spring(15),
      summer(54 + Season.spring.value()),
      fall(30);

      private final int value;
      
      Season(int value) {
         this.value = value;
      }

      public int value() {
         return this.value;
      }
   }
G

Perfeito fabiofalci, funcionou… obrigado…

Criado 5 de outubro de 2006
Ultima resposta 5 de out. de 2006
Respostas 6
Participantes 3