一篇文章让你三分钟学会Java枚举

什么是枚举

至于枚举,我们先拿生活中的枚举来入手,然后再引申Java中的枚举,其实它们的意义很相似。

谈到生活中的枚举,假如我们在玩掷骰子的游戏,在我们手中有两个骰子,要求掷出两个骰子的点数和必须大于6的概率,那么在此情此景,我们就需要使用枚举法一一列举出骰子点数的所有可能,然后根据列举出来的可能,求出概率。

可能有的小伙伴发现,这就是数学啊?这就是数学中的概率学和统计学。对,我们的枚举法就是常用于概率统计中的。

枚举类enum是jdk1.5引入的,全称enumeration,和class、interface的地位一样,存在java.lang包中

使用步骤

我认为枚举的使用方法主要分为以下几步:

一:定义枚举类型

二:定义私有变量(私有变量的数量取决于枚举类型括号里面的参数数量)

三:重载构造方法

四:编写get/set方法

五:调用枚举类

创建枚举类

/**
 * 创建枚举对象
 * 注意事项:
 * 一:定义枚举类型
 * 二:定义私有变量(私有变量的数量取决于枚举类型括号里面的参数数量)
 * 三:重载构造方法
 * 四:编写get/set方法
 */
public enum MyEnumDemo {

 //一:定义枚举类型
 HELLO("hello","1","haha1"),
 WORLD("world","2","haha2"),
 OTHER("other","3");

 //二:定义私有变量(私有变量的数量取决于枚举类型括号里面的参数数量)
 private String demo1;
 private String demo2;
 private String demo3;

 //三:重载构造方法
 MyEnumDemo(String demo1, String demo2) {
 this.demo1 = demo1;
 this.demo2 = demo2;
 }

 //三:重载构造方法
 MyEnumDemo(String demo1, String demo2, String demo3) {
 this.demo1 = demo1;
 this.demo2 = demo2;
 this.demo3 = demo3;
 }

 //四:编写get/set方法
 public String getDemo1() {
 return demo1;
 }

 public void setDemo1(String demo1) {
 this.demo1 = demo1;
 }

 public String getDemo2() {
 return demo2;
 }

 public void setDemo2(String demo2) {
 this.demo2 = demo2;
 }

 public String getDemo3() {
 return demo3;
 }

 public void setDemo3(String demo3) {
 this.demo3 = demo3;
 }

}

测试枚举类

import org.junit.Test;

public class Demo {

 @Test
 public void hah(){
 System.out.println("--------------------------");
 System.out.println(MyEnumDemo.HELLO);
 System.out.println(MyEnumDemo.HELLO.getDemo1());
 System.out.println(MyEnumDemo.HELLO.getDemo2());
 System.out.println(MyEnumDemo.HELLO.getDemo3());
 System.out.println("--------------------------");
 System.out.println(MyEnumDemo.WORLD);
 System.out.println(MyEnumDemo.WORLD.getDemo1());
 System.out.println(MyEnumDemo.WORLD.getDemo2());
 System.out.println(MyEnumDemo.WORLD.getDemo3());
 System.out.println("--------------------------");
 System.out.println(MyEnumDemo.OTHER);
 System.out.println(MyEnumDemo.OTHER.getDemo1());
 System.out.println(MyEnumDemo.OTHER.getDemo2());
 System.out.println(MyEnumDemo.OTHER.getDemo3());
 System.out.println("--------------------------");
 }

}

输出结果

/**
 * 输出结果:
 * --------------------------
 * HELLO
 * hello
 * 1
 * haha1
 * --------------------------
 * WORLD
 * world
 * 2
 * haha2
 * --------------------------
 * OTHER
 * other
 * 3
 * null
 * --------------------------
 */

到此这篇关于三分钟学会Java枚举的文章就介绍到这了,更多相关三分钟学Java枚举内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java枚举类用法实例

    本文实例讲述了Java枚举类用法.分享给大家供大家参考.具体如下: package com.school.stereotype; /** * 活动枚举类型 * @author QiXuan.Chen */ public enum EventStatus { /** * 未发布. */ DRAFT("DRAFT", "未发布"), /** * 已发布. */ PUBLISHED("PUBLISHED", "已发布"); /**

  • Java枚举类型enum的详解及使用

     Java枚举类型enum的详解及使用 最近跟同事讨论问题的时候,突然同事提到我们为什么Java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?以前我们都是采用这种方式定义的,很少采用enum 定义,所以也都没有注意过,面对突入起来的问题,还真有点不太清楚为什么有这样的定义.既然不明白就抽时间研究下吧. Java 中的枚举类型采用关键字enum 来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum 类型.要了解枚举类型,建议大

  • 全面解读Java中的枚举类型enum的使用

    关于枚举 大多数地方写的枚举都是给一个枚举然后例子就开始switch,可是我想说,我代码里头来源的数据不太可能就是枚举,通常是字符串或数字,比如一个SQL我解析后首先判定SQL类型,通过截取SQL的token,截取出来可能是SELECT.DELETE.UPDATE.INSERT.ALTER等等,但是都是字符串,此时我想用枚举就不行了,我要将字符串转换成枚举怎么转呢,类似的情况还有从数据库取出数据根据一些类型做判定,从页面传入数据,根据不同的类型做不同的操作,但是都是字符串,不是枚举,悲剧的是我很

  • java中枚举的详细使用介绍

    枚举特点 1.用enum定义枚举类默认继承了java.lang.Enum类而不是继承了Object类.其中java.lang.Enum类实现了java.lang.Serializable和java.lang.Comparable两个接口 2.枚举类的构造函数只能使用private访问修饰符,如果省略了其构造器的访问控制符,则默认使用private修饰: 3.枚举类的所有实例必须在枚举类中显式列出,否则这个枚举类将永远都不能产生实例.列出这些实例时,系统会自动添加public static fin

  • java 中枚举类enum的values()方法的详解

    java 中枚举类enum的values()方法的详解 前言: 关于枚举,相信使用的已经很普遍了,现在主要写的是枚举中的一个特殊方法,values(), 为什么说特殊呢,因为在Enum 的 API 文档中也找不到这个方法.接下来就看看具体的使用. 理论上此方法可以将枚举类转变为一个枚举类型的数组,因为枚举中没有下标,我们没有办法通过下标来快速找到需要的枚举类,这时候,转变为数组之后,我们就可以通过数组的下标,来找到我们需要的枚举类.接下来就展示代码了. 首先是我们自己的枚举类. public e

  • 三分钟快速掌握Java中枚举(enum)

    什么是枚举? 枚举是JDK5引入的新特性.在某些情况下,一个类的对象是固定的,就可以定义为枚举.在实际使用中,枚举类型也可以作为一种规范,保障程序参数安全.枚举有以下特点: Java中枚举和类.接口的级别相同. 枚举和类一样,都有自己的属性.方法.构造方法,不同点是:枚举的构造方法只能是private修饰,也就无法从外部构造对象.构造方法只在构造枚举值时调用. 使用enum关键字声明一个枚举类型时,就默认继承自Java中的 java.lang.Enum类,并实现了java.lang.Seriab

  • 浅谈Jave枚举的作用与好处

    枚举是一种规范它规范了参数的形式,这样就可以不用考虑类型的不匹配并且显式的替代了int型参数可能带来的模糊概念 枚举像一个类,又像一个数组. Enum作为Sun全新引进的一个关键字,看起来很象是特殊的class, 它也可以有自己的变量,可以定义自己的方法,可以实现一个或者多个接口. 当我们在声明一个enum类型时,我们应该注意到enum类型有如下的一些特征. 1.它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例. 2.所有枚举值都是public , stati

  • Java的枚举类型使用方法详解

    1.背景 在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用public final static 方法定义的代码如下,分别用1 表示春天,2表示夏天,3表示秋天,4表示冬天. public class Season { public static final int SPRING = 1; public static final int SUMMER = 2; public static final int AUTUMN = 3; publ

  • Java(enum)枚举用法详解

    概念 enum的全称为 enumeration, 是 JDK 1.5 中引入的新特性. 在Java中,被 enum 关键字修饰的类型就是枚举类型.形式如下: enum Color { RED, GREEN, BLUE } 如果枚举不添加任何方法,枚举值默认为从0开始的有序数值.以 Color 枚举类型举例,它的枚举常量依次为RED:0,GREEN:1,BLUE:2 枚举的好处:可以将常量组织起来,统一进行管理. 枚举的典型应用场景:错误码.状态机等. 枚举类型的本质 尽管enum 看起来像是一种

  • java中的枚举类型详细介绍

    枚举中有values方法用于按照枚举定义的顺序生成一个数组,可以用来历遍.我们自定义的枚举类都是继承自java.lang.Enum,拥有一下实例中的功能: 复制代码 代码如下: //: enumerated/EnumClass.java // Capabilities of the Enum class import static net.mindview.util.Print.*; enum Shrubbery { GROUND, CRAWLING, HANGING } public clas

随机推荐