枚舉和注釋

使用枚舉寥粹,而不用int 常量的原因有哪些兆沙?
  • int 常量沒有type safety,表達力不強
  • int 常量被編譯到客戶端飞傀,如果int常量發(fā)生變化,則客戶端代碼要重新編譯
  • int 常量不便于打印诬烹,debug砸烦,不能以group形式迭代,不方便獲取int常量group的size
說說你對枚舉的理解
  • 枚舉類是final類绞吁,不可繼承幢痘,不可創(chuàng)建實例,只有聲明的枚舉常量
  • 枚舉類型是instance-controlled家破,它們是單例
  • 枚舉提供編譯期類型安全
  • 枚舉的常量values不會被編譯到客戶端颜说,所以添加或重新安排一個枚舉類型的常量,不需要重新編譯客戶端代碼
  • 可以調(diào)用toString方法把枚舉轉換成可打印字符串
  • 枚舉類型可以添加任意的 methods汰聋,fields 以及實現(xiàn)任意的接口
如果想獲取一個枚舉的int值门粪,該怎么辦?
  • 不要調(diào)用ordinal()方法去獲取
  • 通過使用私有實例域烹困,構造函數(shù)玄妈,以及公有方法來獲取
在枚舉中進行邏輯操作,不要使用位域,應盡量使用EnumSet
在枚舉中拟蜻,不要使用ordinals來索引數(shù)組的下標绎签,應盡量使用EnumMap
盡管你不能繼承一個枚舉類型,但你可以模仿它:寫一個接口酝锅,然后讓枚舉類實現(xiàn)該接口
如果你寫一個工具辜御,需要程序員給源代碼添加信息,請不要用字符串類型的名字模式屈张,而應該采用注釋Annotations擒权,應該優(yōu)先使用java預定義好的注釋類型
在覆蓋超類方法時,一定要用Override注釋符
用不包含方法宣稱的接口(即marker interfaces) 來定義types,比如java 中的 Serializable 接口
marker interfaces和marker annotations相比的優(yōu)勢有哪些阁谆?
  • marker interfaces可以使用instances of
  • marker interfaces 代碼可以編譯期進行檢查
  • marker interfaces 可以更精準的控制標記的粒度
  • 如果你的框架中大量使用annotations碳抄,那可以考慮使用marker annotations進行標記;或者 你打算不僅僅標記程序中的類和接口场绿,還用于標記其他元素剖效,可以考慮使用marker annotations進行標記

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市焰盗,隨后出現(xiàn)的幾起案子璧尸,更是在濱河造成了極大的恐慌,老刑警劉巖熬拒,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件爷光,死亡現(xiàn)場離奇詭異,居然都是意外死亡澎粟,警方通過查閱死者的電腦和手機蛀序,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來活烙,“玉大人徐裸,你說我怎么就攤上這事⌒フ担” “怎么了重贺?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長回懦。 經(jīng)常有香客問我气笙,道長,這世上最難降的妖魔是什么粉怕? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任健民,我火速辦了婚禮抒巢,結果婚禮上贫贝,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好稚晚,可當我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布崇堵。 她就那樣靜靜地躺著,像睡著了一般客燕。 火紅的嫁衣襯著肌膚如雪鸳劳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天也搓,我揣著相機與錄音赏廓,去河邊找鬼。 笑死傍妒,一個胖子當著我的面吹牛幔摸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播颤练,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼既忆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了嗦玖?” 一聲冷哼從身側響起患雇,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎宇挫,沒想到半個月后苛吱,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡器瘪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年又谋,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片娱局。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡彰亥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出衰齐,到底是詐尸還是另有隱情任斋,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布耻涛,位于F島的核電站废酷,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏抹缕。R本人自食惡果不足惜澈蟆,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望卓研。 院中可真熱鬧趴俘,春花似錦睹簇、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至疲憋,卻和暖如春凿渊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背缚柳。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工埃脏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人秋忙。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓剂癌,卻偏偏與公主長得像,于是被迫代替她去往敵國和親翰绊。 傳聞我的和親對象是個殘疾皇子佩谷,可洞房花燭夜當晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 對象的創(chuàng)建與銷毀 Item 1: 使用static工廠方法,而不是構造函數(shù)創(chuàng)建對象:僅僅是創(chuàng)建對象的方法监嗜,并非Fa...
    孫小磊閱讀 1,982評論 0 3
  • Java 1.5發(fā)行版本新增了兩個引用類型家族:枚舉類型(Enumerate類)和注解類型(Annotation接...
    Timorous閱讀 410評論 0 0
  • 1. Java基礎部分 基礎部分的順序:基本語法裁奇,類相關的語法桐猬,內(nèi)部類的語法,繼承相關的語法刽肠,異常的語法溃肪,線程的語...
    子非魚_t_閱讀 31,632評論 18 399
  • 又一次失眠,閉著雙眼翻來覆去數(shù)次音五,卻找不到治療的秘方惫撰。索性側過身,將目光轉移到未拉全的窗戶躺涝。銀色的月光厨钻,將外面的世...
    以你的名字召喚我閱讀 298評論 0 0
  • 此時此刻,提筆寫的時候大腦還是一片空白坚嗜,本就想放棄的夯膀,但是一想即使知道自己不能成功但也要試一試才不會后悔,因為自己...
    環(huán)盈閱讀 282評論 0 1