在JDK5.0之后,引进了一种与C语言相通的枚举类型. 所谓枚举类型就是指含有一组具有固定值, 并且容量有限的数据集合.

例如,定义一个星期的枚举类型, 从周一到周日是具有固定大小和固定值的集合

public enum Week{
Monday ,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}

可以这样引用枚举中的数据:

Week w = Week.Friday;
System.out.println(w);

此外, 枚举类型还有2个静态方法  values() 和valuesOf() ;

for (Week w2 : Week.values()) {
System.out.println(w2);
}

values()方法,返回一个包含全部枚举值的数组;

valueOf()是toString 的逆方法, Week tuesday = Enum.valueOf(Week.class, "Tuesday"); 将tuesday 设置成 Week.Tuesday.

更多参考 JDK API

构造方法摘要
protected Enum(String name, int ordinal)

      单独的构造方法。
方法摘要
protected  Object clone()

          抛出 CloneNotSupportedException。
 int compareTo(E o)

          比较此枚举与指定对象的顺序。
 boolean equals(Object other)

          当指定对象等于此枚举常量时,返回 true。
protected  void finalize()

          枚举类不能有 finalize 方法。
 Class<E> getDeclaringClass()

          返回与此枚举常量的枚举类型相对应的 Class 对象。
 int hashCode()

          返回枚举常量的哈希码。
 String name()

          返回此枚举常量的名称,在其枚举声明中对其进行声明。
 int ordinal()

          返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。
 String toString()

          返回枚举常量的名称,它包含在声明中。
static

<T extends Enum<T>>

T
valueOf(Class<T> enumType,String name)

          返回带指定名称的指定枚举类型的枚举常量。

Java 枚举 的学习的更多相关文章

  1. JAVA—枚举(Enum)学习总结

    1.枚举(Enumeration) 枚举(The Enumeration)接口定义了一种从数据结构中取回连续元素的方式.这种传统接口已被迭代器取代,虽然Enumeration 还未被遗弃,但在现代代码 ...

  2. java枚举类型学习

    用的不多,但用的时候仅仅简单的使用,不太明白原理,今天就系统的学一下枚举.参考:java编程思想. Update: 枚举可以当做数据字典来存储,通常只要一个字段即instance本身,toString ...

  3. java枚举类学习笔记总结

    枚举类的说明: 1.枚举类的理解:类的对象只有有限个,确定的.我们称此类为枚举类 2.当需要定义一组常量时,强烈建议使用枚举类 3.如果枚举类中只一个对象,则可以作为单例模式的实现方式. 如何自定义枚 ...

  4. Java 枚举(enum)的学习

    Java 枚举(enum)的学习 本文转自:https://blog.csdn.net/javazejian/article/details/71333103 枚举的定义 在定义枚举类型时我们使用的关 ...

  5. Java枚举类使用

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

  6. Java 枚举(enum) 详解7种常见的用法

    Java 枚举(enum) 详解7种常见的用法 来源 https://blog.csdn.net/qq_27093465/article/details/52180865 JDK1.5引入了新的类型— ...

  7. Java IO流学习

    Java IO流学习 Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是 ...

  8. 【转载】Java枚举类型的使用

    枚举类型概念 package com.lxq.enumm; public class EnumDemoOne { private enum InnerEnum { RED, GREEN, YELLOW ...

  9. java枚举和constant使用区别

    本文结合<Effective Java>第六章前半部分关于枚举的介绍和自己的理解及实践,讲解了Java枚举的知识点.文章发布于专栏Effective Java,欢迎读者订阅. 前言  你代 ...

随机推荐

  1. 用python表白了!!!

    用python 画一颗心,代码:   import numpy as np import matplotlib.pyplot as plt x = np.linspace(-8 , 8, 1024) ...

  2. 学习memcache

    本文参考了菜鸟教程中的内容. 安装 安装memcache的时候,请切换为root用户 root@centos # wget http://www.memcached.org/files/memcach ...

  3. use redis instance in docker hub

    redis - Docker Hubhttps://hub.docker.com/_/redis

  4. 基于redis实现的点赞功能设计思路详解

    点赞其实是一个很有意思的功能.基本的设计思路有大致两种, 一种自然是用mysql等 数据库直接落地存储, 另外一种就是利用点赞的业务特征来扔到redis(或memcache)中, 然后离线刷回mysq ...

  5. JavaScript中变量、执行环境、作用域与C#中的异同

    首先需要明确一个执行环境的概念,执行环境这个概念是用来理解作用域的,在js中,执行环境分为全局执行环境和局部(function)执行环境,而在C#这类的C类语言中,还有一个块级别的执行环境,如if语句 ...

  6. js对字符串的一些操作方法

    1.charCodeAt(index); 返回一个整数,代表下标位置上字符的Unicode的编码. 2.fromCharCode(code1,code2,code3,...); code1代表Unic ...

  7. Django--CRM--modelformset的用法

    一 . modelformset用法 其实和modelform方法差不多,只不过是显示的时候可以直接修改,显示的select的那种模式 from django.forms import modelfo ...

  8. ConnectTimeout和ReadTimeout所代表的意义

    参考:ConnectTimeout和ReadTimeout所代表的意义 ConnectTimeout 指的是建立连接所用的时间,适用于网络状况正常的情况下,两端连接所用的时间. 在java中,网络状况 ...

  9. react & youtube

    react & youtube https://www.npmjs.com/package/react-youtube https://developers.google.com/youtub ...

  10. 使用php导出excel并使用excel的求和统计函数对excel进行汇总

    1. 使用excel的统计函数对excel进行多条件汇总求和: =SUMIFS($D$:$D$, $A$:$A$, :$B$, :$C$, "三级片") 例如: =SUMIFS(求 ...