gpt4 book ai didi

Java Enum 链接到另一个 Enum

转载 作者:行者123 更新时间:2023-12-01 12:20:27 26 4
gpt4 key购买 nike

我想让 Java 中的枚举器具有其他枚举作为属性。

public enum Direction {
Up(Down),
Down(Up),
Left(Right),
Right(Left);

private Direction opposite;

Direction(Direction opposite){
this.opposite = opposite;
}
}

所以我有不同的方向,对于每个我想知道相反的方向。
它适用于 Down 和 Right,但我无法初始化 Up,因为 Down 还不知道(同一个堡垒 Left)。

初始化后如何编辑枚举变量?

最佳答案

将您的初始化放在静态块中:

public enum Direction {
Up, Down, Left, Right;

private Direction opposite;

static {
Up.setDirection(Down);
Down.setDirection(Up);
Left.setDirection(Right);
Right.setDirection(Left);
}

private void setDirection(Direction opposite) {
this.opposite = opposite;
}

public String toString() {
return this.name() + " (" + opposite.name() + ")";
}
}

关于Java Enum 链接到另一个 Enum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60372779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com