Uso de enum

GALERA ESTOU COM UM PROBLEMINHA AQUI

if(StatusSolicitacao.PENDENTESUPERIOR.equals(status)){
			return getResourceString(ConstantesFerias.MSGSTATUSPENDENTESUPERIOR, null);
		}

Onde StatusSolicitacao é um Enum.

o meu status está vindo de acordo… “PENDENTESUPERIOR”. Alguém poderia me explicar pq ele nunca entra nesse if???

Cara posta tua enum, você sobreescreveu o método equals?! Para mim está funcionando


public class Class1 {   

        enum Objetos{SOL, LUA}
        
        public static void main(String[] args) {
            
            validaLua(Objetos.LUA);
            validaLua(Objetos.SOL);
            
            validaSol(Objetos.LUA);
            validaSol(Objetos.SOL);
        }
        
        public static void validaSol(Objetos _enum) {
            System.out.println(Objetos.SOL.equals(_enum));
        }
      public static void validaLua(Objetos _enum) {
          System.out.println(Objetos.LUA.equals(_enum));
      }        
        
  }  

Eu já tive esse problema, meu palpite no caso foi o seguinte:

Como eu disse, isso foi apenas um chutão sem qualquer base teórica, também não tive tempo de fazer outros testes para comprovar. Também precisa ver se tem a ver com o seu caso, ou seja, se no seu programa a variável “status” também veio de uma deserialização.

EDIT:
Este tópico está duplicado: http://www.guj.com.br/posts/list/111614.java
Lá no outro está a solução, não tinha nada a ver com isso.