Chciałbym zadeklarować kierunek wyliczenia, który ma metodę zwracającą przeciwny kierunek (poniższy kod nie jest poprawny składniowo, tj. Nie można utworzyć instancji wyliczeń, ale ilustruje to mój punkt widzenia). Czy to możliwe w Javie?
Oto kod:
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()