日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Enum使用

發布時間:2023/12/4 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Enum使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://www.java-cn.com/club/html/40/n-640.html 1、????目的
簡單認為:滿足一些需求
2、????定義、使用
public?enum?SexEnum?{
????male(1),female(0);?? ?
????private?final?int?value;?? ?
????private?SexEnum(int?value){
????????this.value?=?value;
????}
????public?int?getValue(){
????????return?this.value;
????}
}
public?class?TestSexEnum?{
????/*
?????*?@param?args
?????*/
????public?static?void?main(String[]?args)?{
????????System.out.println(SexEnum.male.getValue());
????????for?(SexEnum?item:SexEnum.values()){
????????????System.out.println(item.toString()+item.getValue());
????????}
????}
}
3、與類/接口相比
=與類相同,不同的地方就是寫法不一樣(enum比較簡單,但是寫法比較陌生)
=同樣可以添加方法,屬性
=enum不能繼承類(包括繼承enum),只能實現接口,類無此限制(除非用final來限制)。在這個方面,enum更像interface
=enum只支持public和[default]?訪問修飾,class支持比較豐富
=可以與下面的類比較一下,定義比較相似
Public?class?Sex{
????Public?static?final?Sex?male?=?new?Sex(1);
????Public?static?final?Sex?female?=?new?Sex(0);
?? ?Private?Sex(int?value){
????????This.value?=?value;
}
Public?int?getValue(){
????Return?this.value;
}
}
=調用比較相似
SexEnum.male.getValue()
Sex.male.getValue()

總結:其實完全能夠用class替代enum,個人認為enum是早期面向過程中,簡單數值枚舉集合的一種表示,在java中對enum進行了擴展,讓它只具有類的部分能力,導致結構不清晰,在java中進入enum有畫蛇添足的感覺.
?? ? ? 更為重要的是,我們在進行設計的時候引入enum非常容易偏離OO思想,進入以數據或者過程為中心的路子 -------------------------------------------------------------------------------------------- MyDemo:
public enum TrustPassMember {

??ETTrustPass(128479), // 128479
??PersonTrustPass(228479), // 228479
??MarketTrustPass(328479);// 328479

??private final int value;

??private TrustPassMember(int value) { //定義無參的構造函數
????this.value = value;
??}

??public int getValue() {
????return this.value;
??}
} 獲取enum中對應類型的值: TrustPassMember.?ETTrustPass.getValue()
----------------------------------------------------------------------------------------- 剛在導入一個maven的工程時,出現了編譯不兼容的情況,出現了enum之類的都不可以用,這主要是使用了jdk5.0之前的編譯環境,而jdk1.5之前的版本的編譯環境對jdk1.5之后的是編譯不通過的。 project工程名->Properties->Java Compiler->Compiler compilance level使用1.5以上的
且勾上‘use default compliance settings’
  • public?enum?TipLocale?{?
  • ?
  • ????en_US,?
  • ?
  • ????zh_TW,?
  • ?
  • ????es_ES,?
  • ?
  • ????ru_RU,?
  • ?
  • ????pt_PT,?
  • ?
  • ????it_IT,?
  • ?
  • ????de_DE,?
  • ?
  • ????fr_FR,?
  • ?
  • ????ko_KR,?
  • ?
  • ????ja_JP,?
  • ?
  • ????ar_SA;?
  • ?
  • ????public?static?TipLocale?getEnum(String?value)?{?
  • ????????for?(TipLocale?tipLocale?:?values())?{?
  • ????????????if?(tipLocale.name().equals(value))?{?
  • ????????????????return?tipLocale;?
  • ????????????}?
  • ????????}?
  • ????????return?null;?
  • ????}?
  • ?
  • }?


  • 轉載于:https://blog.51cto.com/tianya23/278520

    總結

    以上是生活随笔為你收集整理的Enum使用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。