package com.snowcattle.game.common.util;
import com.snowcattle.game.common.constant.Loggers;
import java.util.List;
/**
*
* 枚举工具
*
*
*/
public class EnumUtil {
/**
* 根据枚举index返回枚举元素,index从0开始
*
* @param <T>
* 枚举类型
* @param values
* 枚举元素输注
* @param index
* 从0开始的index
* @return 枚举元素
*/
public static <T extends Enum<T>> T valueOf(List<T> values, int index) {
T value = null;
try {
value = values.get(index);
} catch (Exception e) {
String typeName = "unknown";
if (values != null) {
for (T enu : values) {
if (enu != null) {
typeName = enu.getClass().getName();
break;
}
}
}
Loggers.gameLogger.error(String.format(
"从枚举中取元素时错误 type=%1$s index=%2$d error=%3$s", typeName,
index, e.getMessage()));
return null;
}
return value;
}
}