gpt4 book ai didi

java - 通过预设序号获取枚举值

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:41:37 26 4
gpt4 key购买 nike

我看过这个链接:Convert from enum ordinal to enum type

并尝试获取枚举值。但是没有用。我的枚举类是:

public enum OrderStatus {

OPEN(0),
DELIVERED(1),
CANCELLED(3),
PARTIALLY(4)
}

我将传递值 0,1,3,4,其中缺少 2,因此它没有这样的顺序。如何通过在 groovy 或 java 中传递 0、1、3 或 4 来获取枚举。

最佳答案

向枚举中添加一个字段和一个构造函数:

public enum OrderStatus {
private Integer codice;

public Integer getCodice() {
return codice;
}

private OrderStatus(Integer codice) {
this.codice = codice;
}

OPEN(0),
DELIVERED(1),
CANCELLED(3),
PARTIALLY(4)
}

然后你可以像这样定义一个方法:

public static OrderStatus getByCodice(int codice) {
for (OrderStatus tipo : values()) {
if (tipo.codice == codice) {
return tipo;
}
}
throw new IllegalArgumentException("Invalid codice: " + codice);
}

关于java - 通过预设序号获取枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32758874/

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