Java Enum一对一到另一个Enum

时间:2018-02-11 22:00:08

标签: java enums deadlock

我有两个枚举。第一:

public enum FirstEnum {

    FIRST(SECOND);

    private SecondEnum secondEnum;

    FirstEnum(SecondEnum secondEnum) {
        this.secondEnum = secondEnum;
    }

    public SecondEnum getSecondEnum() {
        return secondEnum;
    }
}

第二个枚举:

 public enum SecondEnum {

    SECOND(FIRST);

    private FirstEnum firstEnum;

    SecondEnum(FirstEnum firstEnum) {
        this.firstEnum = firstEnum;
    }

    public FirstEnum getFirstEnum() {
        return firstEnum;
    }
}

当我运行此代码时:

public static void main(String[] args) {
    System.out.println("First has: " + FIRST.getSecondEnum());
    System.out.println("Second has: " + SECOND.getFirstEnum());
}

我有这个结果:

First has: SECOND
Second has: null

如果我换行 - 反之亦然。 我知道可能有一些像死锁,但如果我真的需要这种关系,我该怎么办?

0 个答案:

没有答案