Я бы не рекомендовал это для тривиального случая всего 2 века, но если вы хотите расширить ...
Конечно, вы также можете добавить строки отображения.
public enum AgeMonikers
{
AweCute(2),
DontTouchThat(4),
Child(10),
Preteen(13),
Trouble(20),
MoveOut(24),
ThinkYouKnowEverythingDev(25),
ActuallyKnowSomeDev(30),
OldFart(100),
WishIWasDead(Integer.MAX_VALUE);
private int maxAge;
private AgeMonikers(int ageLimit)
{
maxAge = ageLimit;
}
static public AgeMonikers getMoniker(int age)
{
if (age < 0)
return null;
for(int i=values().length-1; i>0; i--)
{
AgeMonikers val = values()[i];
if (age >= val.maxAge)
return values()[i+1];
}
return AweCute; // age < 2 - I know it will include negatives.
}
}
public String getAge()
{
return AgeMoniker.getMoniker(age).toString();
}