Me gustaría declarar una dirección de enumeración, que tiene un método que devuelve la dirección opuesta (lo siguiente no es sintácticamente correcto, es decir, no se pueden crear instancias de enumeraciones, pero ilustra mi punto). ¿Es esto posible en Java?
Aquí está el código:
public enum Direction {
NORTH(1),
SOUTH(-1),
EAST(-2),
WEST(2);
Direction(int code){
this.code=code;
}
protected int code;
public int getCode() {
return this.code;
}
static Direction getOppositeDirection(Direction d){
return new Direction(d.getCode() * -1);
}
}
d.getCode() * -1
==-d.getCode()