1.        关于 Java Enum:

学过 C/C++ 等语言的人,应该都对 Enum 类型略知一二。 Enum 一般用来表示一组相同类型的常量。如性别、日期、月份、颜色等。对这些属性用常量的好处是显而易见的,不仅可以保证单例,且比较时候可以用 ”==” 来替换 equals。是一种好的习惯。 JDK1.5 之前没有 Enum 这个类型,那时候一般用接口常量来替代。有了 JavaEnum 之后,可以更贴近的表示这种常量。

2.        如何使用 Java Enum

简单的用法: JavaEnum 简单的用法一般用于代表一组常用常量,可用来代表一类相同类型的常量值。如:

性别:

public enum SexEnum {

male female ;

}

颜色:

public enum Color {

RED BLUE,GREEN,BLACK ;

}

枚举对象里面的值都必须是唯一的。

可以通过 Enum 类型名直接引用该常量,如 SexEnum.male,Color.RED.

注:以上摘自CSDN:abing37

复杂用法: Java 为枚举类型提供了一些内置的方法,同事枚举常量还可以有自己的方法。可以很方便的遍历枚举对象。

下面是几个示例代码:

Code 1 :EnumMethod.java

下面是枚举类型的常用方法:
/*** author owenyang* data   2012-11-2*/import static java.lang.System.out;public class EnumMethod {enum SexEnum{male,famle,shemale}//compareTo()public static void compare(SexEnum sexE){for(int i = 0 ; i <SexEnum.values().length; i++){out.println("The Result of "+sexE+" compareTo "+SexEnum.values()[i]+": "+sexE.compareTo(SexEnum.values()[i]));}}public static void main(String[] args) {// TODO Auto-generated method stubfor(SexEnum sex: SexEnum.values()){out.println("Enum member variable: "+sex);}//use another way to showout.println("------------use another way to show------------ ");for(int i =0;i<SexEnum.values().length;i++){out.println("Enum member variable: "+SexEnum.values()[i]);}//compareTo() and valueOf()compare(SexEnum.valueOf("shemale"));//ordinal() to get the index of member variablefor(SexEnum sex: SexEnum.values()){out.println("Index of "+sex+" "+sex.ordinal());}}}

Code 2:EnumConstructor.java

下面是枚举类型中的构造方法使用
public class EnumConstructor {//constructor usageenum SexEnum{male("I am a man"),famle("I am a woman"),shemale("I am a shemale");private String description;private SexEnum(String str){this.description=str;}public String getDescription(){return this.description;}}//we can also define the getDescription in the interfaceinterface GetDesc{public String getDescription();}enum ExtraEnum implements GetDesc{male{public String getDescription(){return "I am a super man";}},        famle{public String getDescription(){return "I am a super woman";}}}public static void main(String[] args) {// TODO Auto-generated method stubfor(SexEnum sex:SexEnum.values()){System.out.println("Info: "+sex.getDescription());}//test interfacefor(int i =0;i<ExtraEnum.values().length;i++){System.out.println(ExtraEnum.values()[i]+" invoke getDescription: "+ExtraEnum.values()[i].getDescription());}}}

Code 3: EnumerationTest.java

下面是枚举接口的简单示例:

import java.util.Enumeration;import java.util.Vector;public class EnumerationTest {public static void main(String[] args) {// TODO Auto-generated method stubVector<Integer> vector = new Vector<Integer>();for(int i =0;i<5;i++){vector.add(i);System.out.println("add elements to vector: "+i);}//将向量转换成枚举接口型 Enumeration<Integer> e = vector.elements();while(e.hasMoreElements()){System.out.println("element: "+e.nextElement());}}}

以上,大部分摘自牛人,代码已测。

Java Enum 浅析相关推荐

  1. 如何使用Java Enum

    简单的用法:JavaEnum简单的用法一般用于代表一组常用常量,可用来代表一类相同类型的常量值.如: 性别: public enum SexEnum {male, female;}颜色: public ...

  2. android enum java包_Android @IntDef注解取代Java enum枚举提高性能详解

    Android @IntDef注解取代Java enum枚举提高性能 为提高Android性能,Android官方建议使用@IntDef注解替代Java的enum枚举.@IntDef的使用给出一个例子 ...

  3. Java Enum 枚举

    Java Enum(枚举)是一个Java类 enum TestEnum{     a("Foo1"),b("Foo2"),c("Foo3") ...

  4. Java Enum学习总结

    2019独角兽企业重金招聘Python工程师标准>>> 1. 关于 Java Enum: 学过 C/C++ 等语言的人,应该都对 Enum 类型略知一二. Enum 一般用来表示一组 ...

  5. java enum 值,获取Enum值的Java获得枚举值

    How do I get the name of a Java Enum type given its value? I have written code which works for a par ...

  6. java enum getname_Java获取给定Enum值的Enum名称

    Java获取给定Enum值的Enum名称 给定值,如何获取Java Enum类型的名称? 我有以下适用于特定Enum类型的代码,我可以使其更通用吗? public enum Category { AP ...

  7. java enum变量_java enum

    枚举类 (enum) 在某些情况下,一个类的对象时有限且固定的,如季节类,它只有春夏秋冬4个对象这种实例有限且固定的类,在 Java 中被称为枚举类: 在 Java 中使用 enum 关键字来定义枚举 ...

  8. Java enum的用法详解

    在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. public e ...

  9. java enum(枚举)的使用

    在实际编程中,往往存在着这样的"数据集",它们的数值在程序中是稳定的,而且"数据集"中的元素是有限的. 例如星期一到星期日七个数据元素组成了一周的"数 ...

最新文章

  1. 对Promise的一些深入了解
  2. Nginx基于TCP的四层负载均衡介绍
  3. SQL—已更新或删除的行值要么不能使该行成为唯一行。。。
  4. 如何统计php数组值的和,php数组键值操作和数组统计函数-函数
  5. android media_rw sdcard_rw,大约Android 了解权限管理
  6. 在子线程中使用runloop,正确操作NSTimer计时的注意点 三种可选方法
  7. Graphics在java的哪个包_如何在Java中成功扩展Graphics
  8. 新手学java7编程_新手学Java 7编程:面向对象程序设计
  9. Spring Cloud Zuul重试机制探秘
  10. gdb打印STL和boost容器
  11. Pytorch中view, transpose, permute等方法的区别
  12. C语言关键字浅析-int
  13. Spring源码分析-Bean生命周期概述
  14. NLP太卷,我去研究蛋白质了~
  15. 【视角】限贷传闻横扫楼市 专家看空房地产业
  16. 接口详解(JAVA)
  17. 用emWin的2D绘图函数画一个带圆形端点的环形进度条
  18. 为什么说学计算机更有远见,“孩子,我为什么逼你读书”:有远见的父母,都有点心狠...
  19. 机器学习笔记 - 学习朴素贝叶斯概念及应用
  20. 科技推动,服务创新,科里思特承办莆田市首期茶叶技术培训班活动

热门文章

  1. 正月十五吃汤圆CountDownLatch
  2. 《缠中说禅108课》89:中阴阶段的具体分析
  3. 27.python-网路-tcp
  4. R语言导入数据文件(数据导入、加载、读取)、haven包的read_spss函数导入SPSS中的sav格式文件
  5. 数据库缓存一致性问题
  6. SCAU JAVA期末复习
  7. 草本香皂的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  8. sketch up在线查看_使用Sketch Viewer在线查看和共享您的草图样机
  9. 自己写了个RSS阅读器,欢迎下载使用
  10. AD采集之离散化概念(Quantizer模型使用介绍)