I have a switch case label for the enum constants. My Enum and case label example is as follows :
private Enum PreferenceType {
FIRST,SECOND,THIRD;
private String prefKey;
PreferenceType(String prefKey) {
this.prefKey = prefKey;
}
@Override
public String toString() {
return prefKey;
}
}
private String getPreference() {
switch(getMessage())
{
case PreferenceType.FIRST.toString():
//do something;
break;
case PreferenceType.SECOND.toString():
//do something;
break;
case PreferenceType.THIRD.toString():
//do something;
break;
default: break;
}
}
The whole case label statement is marked in red line by eclipse "case PreferenceType.FIRST.toString():" and when I hover the mouse over the case label the error says "case expressions must be constant expressions". My jdk is of version 1.7 and my eclipse is of version 3.7.2. Can someone please tell me how do I resolve this issue?