亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java基礎 (6) - 枚舉

發布時間:2020-07-06 02:43:30 來源:網絡 閱讀:138 作者:lm8751 欄目:編程語言

能解決
1.類或方法強制使用者傳入預設的值
2.性能相對常量更好 - (Android環境除外)

使用辦法
public enum ColorEnum{
WHITE("0x000001"),BLACK("0x000002"),GREEN("0x000003");
private final String color;
private ColorEnum(String color){
this.color = color;
}

public String getColor() {
    return color;
}

 public void setColor(String color) {
 this.color = color;
}

}

和類的區別
枚舉是真正的 final,客戶端不允許創建枚舉類的實例,也不能對其進行拓展
public class Color {
public static final Color WHITE = new Color(),
BLACK = new Color(),
GREEN = new Color();
private Color() { }
}

和常量的區別
1) 無法限制開發員繼承/實現接口. (枚舉是final的構造方法是私有的)
2) 常量作為參數時,是String,int等弱類型,開發員傳入沒有在常量接口里定義的值,這個問題無法通過編譯器發現.
(常量無法 限制開發人員傳入的參數數值,而枚舉可以在編譯階段強制要求開發人員傳入規定數值)
3) 由于開發員可以直接寫常量值, 所以不能用==對比,只能用equals對比,不能優化性能
(枚舉 equals 也會轉化為 == 可參考 https://www.cnblogs.com/xiohao/p/7405423.html )
4) 編譯時,是直接把常量的值編譯到類的二進制代碼里,常量的值在升級中變化后,需要重新編譯所有引用常量的類,因為里面存的是舊值. (常量是裝載的時候放入堆里,如果發生變化,需要重新編譯裝載)

參考:
https://www.cnblogs.com/kailejun/p/6624471.html
https://blog.csdn.net/lishuangling21/article/details/71398925
https://blog.csdn.net/hzy38324/article/details/72566678
Android中枚舉情況:
https://www.cnblogs.com/zgz345/p/5871351.html
Android中枚舉替代方案
https://www.jianshu.com/p/f8ac84a3e3c1

向AI問一下細節
推薦閱讀:
  1. 枚舉
  2. 詳解JAVA枚舉

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇阳县| 富顺县| 枣阳市| 玛沁县| 濮阳县| 咸阳市| 洪雅县| 故城县| 岳阳县| 武汉市| 贡嘎县| 灌阳县| 沽源县| 夏邑县| 凤冈县| 手机| 扎鲁特旗| 开平市| 怀集县| 和平县| 旅游| 景东| 新竹市| 石景山区| 奈曼旗| 阿拉善左旗| 延边| 宜兰市| 大冶市| 阿图什市| 宾川县| 鄯善县| 永州市| 桓台县| 巨鹿县| 达拉特旗| 阿合奇县| 濮阳市| 伊宁市| 若尔盖县| 新平|