enumeration(枚举)是JDK1.5引入的新特性,放在java.lang包中。

1、枚举类方法介绍

package com.enums;

public class TestEnum {

    public static void main(String[] args) {
Season season = Season.autumn;
System.out.println(season);//autumn System.out.println(season.compareTo(Season.autumn));//
System.out.println(season.compareTo(Season.spring));// System.out.println(season.getDeclaringClass());//class com.enums.TestEnum$Season System.out.println(Season.autumn.name());//autumn System.out.println(Season.autumn.ordinal());// System.out.println(Season.autumn.toString());//autumn System.out.println(Season.valueOf(Season.class, "autumn"));//autumn } /**
* int compareTo(E o) 比较此枚举与指定对象的顺序,返回值为枚举与指定对象的序号差。
* Class<E> getDeclaringClass() 返回与此枚举常量的枚举类型相对应的 Class 对象。
* String name() 返回此枚举常量的名称,在其枚举声明中对其进行声明。
* int ordinal() 返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。
* String toString() 返回枚举常量的名称,它包含在声明中。
* static <T extends Enum<T>> T valueOf(Class<T> enumType, String name) 返回带指定名称的指定枚举类型的枚举常量。
*
* @author Administrator
*
*/
public enum Season {
spring, summer, autumn, winter;
} }

2、遍历枚举

package com.enums;

public class TestEnum1 {

    public static void main(String[] args) {
for(Season s : Season.values()){
System.out.println(s);
}
} public enum Season {
spring, summer, autumn, winter;
} }

3、枚举值作为switch条件值

package com.enums;

public class TestEnum2 {

    public static void main(String[] args) {

        Season season = Season.autumn;

        switch (season) {
case spring:
System.out.println("春天");
break;
case summer:
System.out.println("夏天");
break;
case autumn:
System.out.println("秋天");
break;
case winter:
System.out.println("冬天");
break; }
} public enum Season {
spring, summer, autumn, winter;
} }

4、枚举中定义变量和方法

package com.enums;

public class TestEnum3 {

    public static void main(String[] args) {
System.out.println(Season.autumn.getName());//秋天
} public enum Season {
spring("春天"), summer("夏天"), autumn("秋天"), winter("冬天"); private String name; private Season(String name){
this.name = name;
} public String getName() {
return name;
} } }

详细原理请参考:

java enum(枚举)使用详解 + 总结

Java之enumeration(枚举)的更多相关文章

  1. Java中的枚举类型详解

    枚举类型介绍 枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中.而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常量的定义 ...

  2. java数据结构之枚举

    Enumeration接口中定义了一些方法,通过这些方法可以枚举(一次获得一个)对象集合中的元素. import java.util.Vector; import java.util.Enumerat ...

  3. Java 基础之-枚举

      目录(?)[-] 用法一常量 用法二switch 用法三向枚举中添加新方法 用法四覆盖枚举的方法 用法五实现接口 用法六使用接口组织枚举 用法七关于枚举集合的使用   DK1.5引入了新的类型-- ...

  4. 【译】Java中的枚举

    前言 译文链接:http://www.programcreek.com/2014/01/java-enum-examples/ Java中的枚举跟其它普通类很像,在其内部包含了一堆预先定义好的对象集合 ...

  5. java之enum枚举(2015年05月28日)

    背景: 今天启动了一个新的项目,由于要从之前的旧项目中拿过来一些代码,所以就看了下公司之前项目代码,发现有定义的常量类,也有枚举类,然后就在想着两者的功能差不多,那他们之间到底有什么区别呢,所以就决定 ...

  6. 【转】Java基础笔记 – 枚举类型的使用介绍和静态导入--不错

    原文网址:http://www.itzhai.com/java-based-notes-introduction-and-use-of-an-enumeration-type-static-impor ...

  7. 黑马程序员:Java基础总结----枚举

    黑马程序员:Java基础总结 枚举   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 枚举 为什么要有枚举 问题:要定义星期几或性别的变量,该怎么定义?假设用1-7分别 ...

  8. Java中的枚举的治理

    版权声明:本文为博主原创文章,转载请注明出处,欢迎使劲喷 一.为啥用枚举&为啥要对枚举进行治理 1.先来说说为啥用枚举 表中某个字段标识了这条记录的状态,我们往往使用一些code值来标识,例如 ...

  9. JAVA中的枚举类

    某些情况下一个类的对象是有限而且固定的,例如性别就只有两个类(考虑大众情况).因此这种实例有限而且固定的类,java里面叫枚举类.枚举类的关键字是enum,一些基本的命名规则和文件命名等细节和一般的类 ...

随机推荐

  1. DNS(一)之禁用权威域名服务器递归解析

    DNS dns是互联网中最核心的带层级的分布式系统,负责把域名解析成ip,把IP解析出域名,以及宣告邮件路由信息等等,使得使用域名访问网站,收发邮件成了可能. bind(berkeley Intern ...

  2. Linux C/C++ --- “” and <> in the use of head include file(Pending Verification)

    for example: #include <stdlib.h>#include <stdio.h>#include <wiringPi.h>#include &l ...

  3. mysql support chinese

      1.创建table的时候使用utf8编码 create table tablename ( id int NOT NULL, content var_char(250) NOT NULL, CON ...

  4. css3实现小黄人

    效果就像这样: 不废话,直接上代码! hrml代码: <!DOCTYPE html> <html> <head lang="zh"> <m ...

  5. js初学—实现checkbox全选功能

    布局如下: <p ><input type="checkbox" id="che1"/>全选</p><div id=& ...

  6. WinForm------关于子窗体刷新父窗体问题

    链接: http://wenwen.sogou.com/z/q242758397.htm

  7. ioctlsocket()

    ioctlsocket()是控制套接口的模式. 外文名 ioctlsocket() 含    义 控制套接口的模式 头文件 #include <winsock.h> 性    质 函数 目 ...

  8. Java 创建文件夹和文件

    String path="D://my"; File folder=new File(path); if(!folder.exists() && !folder.i ...

  9. 使用Diagnose服务查看Azure网站诊断信息

    注意:当前操作只针对"基本"和"标准"模式的网站(也就是有独立实例的网站) 登陆网站的kudu模式:http://{yoursitename}.scm.chin ...

  10. C++ 以费波纳茨数列为权重的加权均值计算方法 wMA

    #pragma once #include <iostream> using namespace std; template <typename T> double *wMA( ...