且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

具有不可变参数的自引用枚举

更新时间:2023-02-02 23:29:08

也许不是您想要的那样漂亮……

Again perhaps not as pretty as you were looking for ...

public enum Flippable {
    A, B, Z, Y;

    static {
        A.opposite = Z;
        B.opposite = Y;
        Y.opposite = B;
        Z.opposite = A;
    }

    public Flippable flip() {
        return opposite;
    }

    private Flippable opposite;

    public static void main(String[] args) {         
        for(Flippable f : Flippable.values()) {
            System.out.println(f + " flips to " + f.flip());
        }
    }
}