相关疑难解决方法(0)

如何从python枚举类中获取所有值?

我正在使用Enum4库来创建一个枚举类,如下所示:

class Color(Enum):
    RED = 1
    BLUE = 2
Run Code Online (Sandbox Code Playgroud)

我想在[1, 2]某处打印列表.我怎样才能做到这一点?

python enums

105
推荐指数
13
解决办法
6万
查看次数

在Python中使用自定义值动态创建枚举?

我想通过读取YAML文件中的值在运行时创建枚举类型.所以我有这个:

# Fetch the values
v = {'foo':42, 'bar':24}

# Create the enum
e = type('Enum', (), v)
Run Code Online (Sandbox Code Playgroud)

有没有正确的方法呢?我觉得打电话type不是一个非常简洁的解决方案.

python enums

21
推荐指数
1
解决办法
6716
查看次数

Java是否存在可变性用例和可能性?

我不知道我是否是唯一知道这一点的人,但是枚举的值不是隐含的最终值,可以修改.

  enum EnumTest {
    TOTO("TOTO 1"),
    TATA("TATA 2"),
    ;

    private String str;

    private EnumTest(String str) {
      this.str = str;
    }

    @Override
    public String toString() {
      return str;
    }
  }

  public static void main(String[] args) {
    System.out.println(EnumTest.TATA);
    EnumTest.TATA.str = "newVal";
    System.out.println(EnumTest.TATA);
  }

TATA 2
newVal
Run Code Online (Sandbox Code Playgroud)

这些值通常在实例创建(TOTO("TOTO 1"))时初始化,但除了我自己之外,我从未见过有人使用final关键字来表示应该是不可变的枚举变量.这不是问题的关键,只是想知道我是否是唯一意识到这一点的人.


我想知道的是,是否有任何用例来创建可变的枚举?

而且我也想知道我们可以用枚举做的限制(良好做法与否).我没有测试它,但也许枚举可以注入Spring bean?至少看起来我们可以注释每个实例(@Deprecated可以正常工作),以及方法.

java enums spring

9
推荐指数
2
解决办法
4674
查看次数

标签 统计

enums ×3

python ×2

java ×1

spring ×1