第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于java枚舉類型的疑問

關于java枚舉類型的疑問

慕慕森 2019-04-07 09:38:43
先上一段能編譯通過的程序:enumDirection{EAST,WEST,SOUTH,NORTH;}publicclassSimpleEnum{publicstaticvoidmain(Stringargs[]){Directiond=Direction.EAST;switch(d){caseEAST:System.out.println("Dragon");break;caseWEST:System.out.println("Tiger");break;caseSOUTH:System.out.println("Peacock");break;caseNORTH:System.out.println("Tortoise");}}}我的疑問是:為什么程序中對enum常量的引用不一致?在main函數中,Directiond=Direction.EAST;如果寫成Directiond=EAST;javac會報錯,說找不到符號EAST.而switchcase的代碼塊中必須直接跟枚舉常量,如果把caseEAST:改成caseDirection.EAST:,javac會報告說:枚舉switchcase標簽必須為枚舉常量的非限定名稱。這種形式的不一致讓人有些不爽。為什么會有這種不一致呢?
查看完整描述

2 回答

?
拉莫斯之舞

TA貢獻1820條經驗 獲得超10個贊

規(guī)范是這么定義的,應該有他的原因,雖然我還沒有找到,但是可以猜測一下。
如果在主函數中寫Directiond=EAST;那么EAST枚舉容易和類里面的變量(或者常量)混淆。
而在switch塊里面則沒有這個問題。
                            
查看完整回答
反對 回復 2019-04-07
  • 2 回答
  • 0 關注
  • 787 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號