Traté de usar Enum en LHS [Ticket (estado == EStatus.OK)], obtengo error de tiempo de compilación algo así como lo siguiente:
BuildError: No se puede analizar el estado Expresión == EStatus.OK de error: no puede resolver utilizando el método estricta modo: ....
Solución:
En LHS regla, tenemos que comparar con un valor constante ... por ejemplo: usuario: usuario (edad> 60) - aquí estamos comparando la edad con el valor constante 60.
Entonces para usar Enum, Ticket (estado == EStatus.OK) ... Tuve que usar alguna constante en lugar de EStatus.OK para comparar esto con el estado. Por esta razón, utilicé un método estático en Enum.
Así, la regla de LHS ahora queda como: entradas (estado == EStatus.getEStatus (1))
y enumeración estatus es como siguiente:
enumeración pública estatus {
// you can use values other than int also
OK(1),
ERROR(2);
private int value;
EStatus (número int) { this.value = number; }
public int valueOf()
{
return this.value;
}
public static EStatus getEStatus(int value){
EStatus eStatus = null;
for(EStatus e : EStatus.values()){
if(e.valueOf() == value){
eStatus = d;
break;
}
}
return eStatus;
}
}
que han probado esta utilizando JDK 1.6 y tanto en Linux y el entorno Windows.
¡Disfrute de la codificación!
Gracias por señalarlo. Ahora también funciona para mí. Es extraño, porque verifiqué varias veces el problema antes de publicarlo aquí. Algo más probable se le escapó ... – Calin