摘要:一枚舉的用法定義一個枚舉類,并在枚舉類中列出需要使用的字段。在需要使用這個枚舉屬性時,直接使用即可。但有時候有點特殊的要求,比如在前后端協同時枚舉要求轉化成,在傳輸時減少字節。
一、 枚舉的用法1
定義一個枚舉類,并在枚舉類中列出需要使用的字段。 public enum State { START, DOING, DONE } 在需要使用這個枚舉屬性時,直接使用State.START即可。但有時候有點特殊的要求,比如在前后端協同時枚舉要求轉化成int,在傳輸時減少字節。這時候可以使用枚舉類自帶的一些API,這樣做的好處可以使用枚舉替代代碼中一些常量數字。 int enumIndex = 0; State state = State.values()[enumIndex]; String enumString = "DOING"; State state1 = State.valueOf(enumString); State state2 = State.DONE; System.out.println(state2.toString()); System.out.println(state2.ordinal());
首先要說明的是如果采用上述方式使用枚舉類,那枚舉類中的每個實體對象(用詞可能不準確)都有一個index,該index與其在枚舉類中定義的位置有關,如上面的START的對應0.
values()方法會返回這個枚舉類中所有定義的實體對象,然后我們可以根據實體對象對應的index取到這個實體對象并使用。
此外,還可以用valueOf()方法取到某個實體對象,當傳入的String與定義的實體對象一致時,即可取到這個實體對象并加以使用
最后,枚舉類中定義的實體對象,可以使用ordinal()獲取到其對應的index,用toString()獲取到它String格式數據。
二、枚舉的用法2
public enum Level { LOW(1, "low"), HIGH(2, "high"); private int id; private String name; Level(int id, String name) { this.id = id; this.name = name; } public int getId() { return id; } public String getName() { return name; } } 可以在枚舉類中定義屬性,這是在添加實體對象的時候需要根據構造函數的規則進行構造(可以添加多個構造函數),在使用枚舉類的實體屬性時就可以使用這些屬性。
如有不正確的地方歡迎指正
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/70304.html
摘要:總結我們主要介紹到了以下幾種方式實現單例模式餓漢方式線程安全懶漢式非線程安全和關鍵字線程安全版本懶漢式雙重檢查加鎖版本枚舉方式參考設計模式中文版第二版設計模式深入理解單例模式我是一個以架構師為年之內目標的小小白。 初遇設計模式在上個寒假,當時把每個設計模式過了一遍,對設計模式有了一個最初級的了解。這個學期借了幾本設計模式的書籍看,聽了老師的設計模式課,對設計模式算是有個更進一步的認識。...
摘要:注解方式優點使用注解方式可以極大的減少使用模版方法模式帶來的擴展時需要繼承模版類的弊端,工廠注解的方式可以無需關心其他業務類的實現,而且減少了類膨脹的風險。 在上一篇文章Java設計模式綜合運用(門面+模版方法+責任鏈+策略)中,筆者寫了一篇門面模式、模版方法、責任鏈跟策略模式的綜合運用的事例文章,但是后來筆者發現,在實現策略模式的實現上,發現了一個弊端:那就是如果在后續業務發展中,需...
摘要:動態代理個經紀人如何代理個明星掘金在代理模式女朋友這么漂亮,你缺經紀人嗎中我們用寶強的例子介紹了靜態代理模式的概念。掘金使用從頭創建一個,這種方法比較簡單。 動態代理:1 個經紀人如何代理 N 個明星 - Android - 掘金在 代理模式:女朋友這么漂亮,你缺經紀人嗎? 中我們用寶強的例子介紹了靜態代理模式的概念。 本來我的目的是通過大家耳熟能詳的例子來加深理解,但是有些網友指責...
摘要:哪吒社區技能樹打卡打卡貼函數式接口簡介領域優質創作者哪吒公眾號作者架構師奮斗者掃描主頁左側二維碼,加入群聊,一起學習一起進步歡迎點贊收藏留言前情提要無意間聽到領導們的談話,現在公司的現狀是碼農太多,但能獨立帶隊的人太少,簡而言之,不缺干 ? 哪吒社區Java技能樹打卡?【打卡貼 day2...
摘要:方法即為收集器,它接收高階函數和的后端掘金年的第一天,我坐在獨墅湖邊,寫下這篇文章。正因如此,所以最全系列教程后端掘金是從版本開始引入的一個新的,可以替代標準的。 設計模式之單例模式 - 掘金前言 作為一個好學習的程序開發者,應該會去學習優秀的開源框架,當然學習的過程中不免會去閱讀源碼,這也是一個優秀程序員的必備素養,在學習的過程中很多人會遇到的障礙,那就是設計模式。很多優秀的框架會運...
閱讀 775·2023-04-25 16:55
閱讀 2806·2021-10-11 10:59
閱讀 2070·2021-09-09 11:38
閱讀 1782·2021-09-03 10:40
閱讀 1485·2019-08-30 15:52
閱讀 1125·2019-08-30 15:52
閱讀 954·2019-08-29 15:33
閱讀 3494·2019-08-29 11:26