gpt4 book ai didi

没有枚举名称的 Java 引用内部枚举

转载 作者:行者123 更新时间:2023-11-30 07:24:37 25 4
gpt4 key购买 nike

我有一个 Java 类,其中有一个包含 2 个选项的枚举。外部类有一个枚举的成员实例。我有一种方法可以切换成员的选项。像这样:

    public class Foo {
public enum BarEnum {
OPTION1, OPTION2;
}

private BarEnum barmember;

private void switchBarmember {
switch (barmember) {
case OPTION1: barmember = BarEnum.OPTION2; break;
case OPTION2: barmember = BarEnum.OPTION1; break;

}
}
}

我的问题是,有没有一种方法可以在不说 BarEnum. 的情况下执行更改?换句话说,有没有办法让这个方法看起来像这样:

        private void switchBarmember {
switch (barmember) {
case OPTION1: barmember = OPTION2; break;
case OPTION2: barmember = OPTION1; break;

}
}

如果没有办法,请告诉我。谢谢!

最佳答案

不完全是,但这会起作用:

public class Foo {
public enum BarEnum {
OPTION1,
OPTION2;

private BarEnum switchValue ( )
{
switch( this )
{
case OPTION1:
return OPTION2;
case OPTION2:
return OPTION1;
}

throw new AssertionError("Should not be here");
}
}

private BarEnum barmember;

private void switchBarmember {
barmember = barmember.switchValue( );
}
}

关于没有枚举名称的 Java 引用内部枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11422337/

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