枚举[java基础]
2021/9/17 1:04:58
本文主要是介绍枚举[java基础],对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
什么是枚举
- 常理上的枚举
有限的确定的常量集合 - java中的枚举
A. 在JDK5中引入的枚举解决了之前通过常量来表示离散量所带来的问题,
大大加强了程序的可读性、易用性和可维护性,
B. 在此基础之上又进行了扩展,使之可以像类一样去使用,更是为Java对离散量的表
示上升了一个台阶。
C. 因此,如果在Java中需要表示诸如颜色、方式、类别、状态等等数目有限、形式离散、
表达又极为明确的量,应当尽量舍弃常量表示的做法,而将枚举作为首要的选择。 - 枚举的类层级结构
package com.dzh.javaclassdemo.em; /** * 枚举 * [java基础] * * @author Jack Dzh * @date 2021-09-16 21:17 */ public enum TypeEnum { /** * public static final flied */ LOW, MIDDLE, HIGH; /** * private method */ TypeEnum() { } public static void main(String[] args) { /** * fileds */ final String name; final int ordinal; /** * method: name() */ System.out.println(TypeEnum.HIGH.name()); /** * method: ordinal() */ System.out.println(TypeEnum.LOW.ordinal()); System.out.println(TypeEnum.MIDDLE.ordinal()); System.out.println(TypeEnum.HIGH.ordinal()); /** * method: toStirng() */ System.out.println(TypeEnum.LOW.toString()); /** * method: equals */ System.out.println(TypeEnum.LOW.equals(TypeEnum.LOW)); /** * method: compareTo * 比较他们的ordinal */ int i = TypeEnum.HIGH.compareTo(TypeEnum.LOW); System.out.println("---------------- " + i); /** * method: getDeclaringClass() */ System.out.println(TypeEnum.LOW.getDeclaringClass()); /** * method: valueOf(Class<T> enumType,String name) */ System.out.println(TypeEnum.HIGH.valueOf(TypeEnum.class, "HIGH")); } } /* 1.枚举与普通类的区别【重点】 I.每个枚举常量是用逗号分隔,最后用分号; II.枚举值是有顺序的; III.枚举的构造方法默认私有,每个枚举值实际上是枚举类的不可更改的实例; VI.默认继承Enum抽象类; 2.枚举的意义【重点】 a:在JDK5中新引入的枚举完美地解决了之前通过常量来表示离散量所带来的问题,大大加强了程序的可读性、易用性和可维护性, 并且在此基础之上又进行了扩展,使之可以像类一样去使用,更是为Java对离散量的表示上升了一个台阶。因此, 如果在Java中需要表示诸如颜色、方式、类别、状态等等数目有限、形式离散、表达又极为明确的量,应当尽量舍弃常量表示的做法, 而将枚举作为首要的选择 b:枚举的出现解决了常量类所表示的单一信息 3.enum与Enum类 enum 是定义枚举时的关键字; Enum 是枚举类默认继承的抽象类,它有name,ordinal字段和一些枚举常用的方法; 4.Enum 的常用方法 7个【重点】 5.资料[转载] a: 网站 a.1: www.cnblogs.com/jsll/p/11613032.html a.2: www.cnblogs.com/tonney/archive/2011/04/28/2032270.html a.3: www.cnblogs.com/tonney/archive/2011/04/29/2032434.html */
这篇关于枚举[java基础]的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-28知识管理革命:文档软件的新玩法了解一下!
- 2024-11-28低代码应用课程:新手入门全攻略
- 2024-11-28哪些办公软件适合团队协作,且能够清晰记录每个阶段的工作进展?
- 2024-11-28全栈低代码开发课程:零基础入门到初级实战
- 2024-11-28拖动排序课程:轻松掌握课程拖动排序功能
- 2024-11-28如何高效管理数字化转型项目
- 2024-11-28SMART法则好用吗?有哪些项目管理工具辅助实现?
- 2024-11-28深度剖析:6 款办公软件如何构建设计团队项目可视化管理新生态?
- 2024-11-28HTTP缓存课程:新手入门指南
- 2024-11-28实战丨证券 HTAP 混合业务场景的难点问题应对