【发布时间】:2020-12-07 16:57:40
【问题描述】:
我是 java 新手,有一个名为 listPlayer 的对象列表,这是一个示例
Player{FirstName='Marco', LastName='Reus', Team='Dortmund', Country='Germany', Fitness='Unfit', RecoveryTime='Slow'}
我也有一个枚举,它可以评估一系列健身水平
public enum LevelOfFitness {
/**
* Enum that represent the different level of Fitness of each player
*/
CAREER_IN_DOUBT(8), INDEFINITELY_INJURED(7), INJURED(6), UNFIT(5), CLOSE_TO_FITNESS(4),
NEAR_MATCH_FIT(3),
MATCH_FIT(2), DATA_DEFICIENT(1), NOT_EVALUATED(0);
private int value;
LevelOfFitness (int aValue) {
this.value = aValue;
}
public int getValue () {
return value;
}
}
我还有一种方法可以循环检查在listPlayer 中找到的名称是否与在枚举值中找到的名称相同。
public LevelOfFitness from(String value){
LevelOfFitness found = null;
for(LevelOfFitness level : LevelOfFitness.values()){
if(level.name().equalsIgnoreCase(value)){
return level;
}
}
throw new IllegalStateException("Not able to find fitness level for " + value);
}
我正在努力理解如何将这个枚举方法调用到我的 main 中并将 listPlayer 调用到循环中,以便它可以返回一个健身级别。例如,第一个循环检查级别(不合适)并返回 5 的玩家非常感谢。
【问题讨论】:
-
这个
from(String)方法是在哪里声明的?在哪个班?
标签: java list object enums return