Java - enum ?

XpiritO

Power Member
Boas.

Estou aqui a fazer um projecto, mas estou com problemas na definição de um enumerado.

Código:
(...)
public class Lugar {
	public static enum Estado { livre, ocupado, indisponivel };
	
	private Categoria categoria;
	private Estado estado;
	
	public Lugar(Categoria cat){
		this.categoria = cat;
	}
	
	public void setLivre(){
		estado = LIVRE;
	}
	public void setOcupado(){
		estado = OCUPADO;
	}
	public void setIndisponivel(){
		estado = INDISPONIVEL;
	}
}
A linha de código "public static enum Estado { livre, ocupado, indisponivel };" dá-me erro no Eclipse, porque diz que "enum não é um tipo".
Nas propriedades do projecto já verifiquei e estou a usar a versão 1.6.0 do JRE.

Alguém me pode ajudar com isto?

Já testei com ";" no fim do Enum, sem o ";"... nada parece funcionar. Baseei-me no exemplo da própria Sun, em http://java.sun.com/j2se/1.5.0/docs/guide/language/enums.html
 
testei no netbeans e assim funcionou:
Código:
public class Lugar {
	public static enum Estado { livre, ocupado, indisponivel };
	
	private Categoria categoria;
	private Estado estado;
	
	public Lugar(Categoria cat){
		this.categoria = cat;
	}
	
	public void setLivre(){
		estado = Estado.livre;
	}
	public void setOcupado(){
		estado = Estado.ocupado;
	}
	public void setIndisponivel(){
		estado = Estado.indisponivel;
	}
}
 
Aqui Eclipse SDK 3.2.0 e continua a dar o mesmo erro.

enum cannot be resolved to a type

EDIT:
Pedi agora ao meu colega para testar no Eclipse dele, que é o 3.4.0, e já deu. :| Pelos vistos é da versão do Eclipse, porque vi num outro fórum que apenas a partir da versão 3.3.x passou a ser suportada a palavra reservada "enum":
O Eclipse 3.0 não consegue (não vê) compliance level acima de 1.5, mesmo que se mude para padrão as Installed JREs para 1.6, portanto não é possível compilar de maneira nenhuma através do Eclipse 3.0 o enum.

Para que o enum funcione no Eclipse, foi necessário instalar a versão 3.3 do Eclipse e mais nada. Ele mesmo já tem por default o compliance level 1.6.
 
Última edição:
Back
Topo