作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
<分区>
我在 Java 中有一个枚举如下:
public enum Cars
{
Sport,
SUV,
Coupe
}
我需要获取枚举的下一个值。因此,假设我有一个名为 myCurrentCar 的变量:
private Cars myCurrentCar = Cars.Sport;
我需要创建一个函数,在调用时将 myCurrentCar 的值设置为枚举中的下一个值。如果枚举不再有值,我应该将变量设置为枚举的第一个值。我以这种方式开始实现:
public Cars GetNextCar(Cars e)
{
switch(e)
{
case Sport:
return SUV;
case SUV:
return Coupe;
case Coupe:
return Sport;
default:
throw new IndexOutOfRangeException();
}
}
虽然有效,但它是一个高维护 函数,因为每次我修改枚举列表时,我都必须重构该函数。有没有办法将枚举拆分为字符串数组,获取下一个值并将字符串值转换为原始枚举?所以如果我在数组的末尾,我只需获取第一个索引
我是一名优秀的程序员,十分优秀!