方向相反怎么写代码?

How to write the code if the direction is opposite of the other?

我有一个名为 Direction 的枚举 class,它有对象 S, N, W, E, and none(南、北、东、西和 none)。我有一个方法 public boolean isOpposite(Direction other) 如果给定的方向与另一个方向相反,它应该报告。 none从来没有对立过任何东西,但是N / S是对立的,E / W是对立的。那么,如果方向与传递的对象相反,我如何检查布尔值?

public enum Direction {

    N, E, S, W, none;

    public Direction cycle()
    {
        if (this.equals(Direction.N))
            return Direction.E;
        else if(this.equals(Direction.E))
            return Direction.S;
        else if(this.equals(Direction.S))
            return Direction.W;
        else if(this.equals(Direction.W))
            return Direction.N;
        else if(this.equals(Direction.none))
            return none;

        return null;
    }

    public Direction getOpposite()
    {
        if(this.equals(Direction.N))
            return Direction.S;
        else if(this.equals(Direction.S))
            return Direction.N;
        else if(this.equals(Direction.E))
            return Direction.W;
        else if(this.equals(Direction.W))
            return Direction.E;
        else if(this.equals(Direction.none))
            return Direction.none;

        return null;
    }

    public boolean isOpposite(Direction other)
    {
        //???
    }

}
return getOpposite() == other;