【发布时间】:2025-12-25 15:45:15
【问题描述】:
我有一个整数数组,需要将其转换为枚举数组。
enum my_enum {
APPLE, BANANA, ORANGE;
int getColorAsInt() { ... }
};
int[] foo = some_method_i_cannot_modify();
my_enum[] bar = ??? ( foo );
最简单的方法是什么?
Here 我找到了一种将单个整数转换为枚举值的方法(他们在示例中使用了Color 枚举):
public static Color convertIntToColor(int iColor) {
for (Color color : Color.values()) {
if (color.getColorAsInt() == iColor) {
return color;
}
}
return null;
}
...但我希望有一种更直接的方法来进行这种转换(否则在我的代码中,首先使用枚举是没有意义的)。
Here 是一个关于将单个整数转换为枚举值的 SO 问题。
【问题讨论】:
-
那么你会得到什么整数,
getColorAsInt返回什么? -
Convert from enum ordinal to enum type 的可能重复项 - 假设您的整数代表枚举序数,即
-
@daniu 不确定我是否理解您的问题。我确定我的整数在有效范围内,并且我正在寻找的函数应该返回给定整数的枚举值,最好是整数数组作为输入,枚举值数组作为输出。
-
@AlexSavitsky 实际上我同意重复,但由于这里的答案已经提出了超出欺骗答案的解决方案,我只是在问题中添加了一个注释
-
@user463035818 我主要标记重复项以提供对相关问题和/或答案的轻松访问,而不是为了关闭欺骗。 SO 缺少将问题标记为“相关”的功能(例如,像在 JIRA 中一样)而不将其作为重复项关闭。答案确实提供了超出链接内容的有用信息