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. nodejs fs module

    fs.watchFile(filename[, options], listener)# Added in: v0.1.31 filename <String> | <Buffer& ...

  2. 在spark-shell里用集群方式启动时加入用户需要的jar

    希望在spark-shell中测试集群方式的elasticsearch操作, # 1 首先下载相关的jar # 2 启动spark-shell时用--jars ./bin/spark-shell –m ...

  3. ----------jqery和js如何判断checkbox是否选中 --------两个单选按钮如何选一个,且用jquery获取被选的值

    jqery和js如何判断checkbox是否选中 jquery: <div id="divId" class="divTable"> <div ...

  4. dos命令复制当天生成的以日期为文件名的文件

    1.利用SqlServer的自动备份功能,将数据自动备份,备份出的文件格式如下:             db_backup_201001270930.bak 2.编辑bat脚本            ...

  5. .net4.0及Silverlight_Tools for vs2008sp1安装失败解决办法

    安装.net framework 4.0失败,出现HRESULT 0xc8000222错误代码 1.开始-运行-输入cmd,运行命令     net stop WuAuServ 2.开始-运行-输入  ...

  6. this.name=name;和this.setName(name);的区别

    其实一般属性设置为private后,才会写属性的set和get方法 在本类中可以用 this.name=name 但是,在其他类中药给name赋值,就只能用set了

  7. Linux 普通进程 后台进程 守护进程

    一.普通进程与后台进程 默认情况下,进程是在前台运行的,这时就把shell给占据了,我们无法进行其它操作.对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候加一个'& ...

  8. Nginx报错403 forbidden (13: Permission denied)的解决办法

    由于开发需要,在本地环境中配置了LNMP环境,使用的是Centos 6.5 的yum安装,安装一切正常,但是由于默认网站文件夹比较奇葩,于是把网站文件用mv命令移动到了新的目录,并相应修改了配置文件, ...

  9. 在页面头部<!DOCTYPE html ....> 前面不能有任何输出

    <!-- 这里不能有任何输出,注释也不行 --><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN& ...

  10. Pycharm 使用

    Pycharm基本使用http://edu.51cto.com/index.php?do=lession&id=118722   Pycharm的基本使用 在Pycharm下为你的Python ...