在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. Django 中的 cookie 和 session

    一.cookie 由于HTTP协议是无状态的,而服务器端的业务必须是要有状态的.Cookie诞生的最初目的是为了存储web中的状态信息,以方便服务器端使用.比如判断用户是否是第一次访问网站.目前最新的 ...

  2. Python之发邮件

    使用模块yagmail(使用收藏的yagmail,现在的第三方模块不能解决中文乱码问题) import yagmail user='xxx@126.com' password='xxxxxx' #使用 ...

  3. array_filter、array_walk、array_map的区别

    <?php $arr=array( 1,2,3,4,5,6 ); function filter($var){ if($var%2==0) return true; } $data=array_ ...

  4. 1065. 我的日程安排表 I

    描述 实现MyCalendar类来存储您的活动. 如果新添加的活动没有重复,则可以添加. 你的类将有方法book(int start,int end). 这代表左闭右开的间隔[start,end)有了 ...

  5. Java8 Lambda和Stream的用法

    package com.zhangxueliang.demo; import java.util.ArrayList; import java.util.List; import java.util. ...

  6. python学习笔记(12)--程序设计方法学

    计算思维: 逻辑思维:推演和演绎 实证思维:实验和验证,引力波->实验 计算思维:设计和构造,计算机为代表,汉诺塔递归. 计算思维特征 抽象和自动化,抽象问题的计算过程,利用计算机自动化求解. ...

  7. NLP的原理,框架及具体实例

    1. 什么是NLP 所谓NLP就是自然语言处理,即计算机识别人的自然沟通语言,将人的语言转换成表达含义相同的文字.因为NLP的目的是将人和计算机通过自然语言沟通成为可能,而人最方便的沟通是通过语音发声 ...

  8. 1.Java简介

    第一章 Java简介 开始上传一些自己画的思维导图 画的基本上是根据菜鸟教程Java的对应的图 会有一系列的图陆续放出来,不过博客上只有截图,具体的带注释的具体的图后续会放在git上,更新会加上git ...

  9. 如何快速定位到DBGrid的某一行!!!急...

    比如我查找张三,那么DBGrid就可以定位到张三那行并选中这行,除了用循环实现还有没有快速定位的方法,谢谢! 解决方案 » to SuperTitan001 那如何找到张三的这行呢?除了用循环还有什么 ...

  10. Vue之computed计算属性

    demo.html <!DOCTYPE html> <html lang="en" xmlns:v-bind="http://www.w3.org/19 ...