我已經(jīng)聲明了這個(gè)枚舉類:public enum class RoleName {
Worker,
Boss
}我想在開關(guān)/外殼中使用它switch (requestRole.getName()) {
case RoleName.Worker.name():但我有這個(gè)編譯錯(cuò)誤constant expression required如果我刪除,class我會(huì)收到此 IntelliJ IDEA 錯(cuò)誤:'class' keyword is expected after 'enum;
1 回答

阿晨1998
TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個(gè)贊
這里有兩個(gè)錯(cuò)誤:
枚舉的定義不應(yīng)該包含
class
在其中。根據(jù)經(jīng)驗(yàn),常量應(yīng)為大寫。enum?RoleName?{ ????WORKER, ????BOSS; }
RoleName.Worker.name()
不允許作為case
表達(dá)式,因?yàn)樗皇浅A勘磉_(dá)式。您可以轉(zhuǎn)換requestRole.getName()
為 aRoleName
并將其用作表達(dá)式switch
。switch?(RoleName.valueOf(requestRole.getName()))?{ ????case?WORKER:?/*?...?*/?break; }
添加回答
舉報(bào)
0/150
提交
取消