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. 使用XmlSerializer序列化可空属性

    使用XmlSerializer可以方便的将对象序列化为xml,实现应用之间的数据交互.但是XmlSerializer却不能很好地序列化类型中的可空字段. 例如,有如下定义的类Person: [Seri ...

  2. Beta版本——第六次冲刺博客

    我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬 ...

  3. Beta版本——第三次冲刺博客

    我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬 ...

  4. BZOJ2049: [Sdoi2008]Cave 洞穴勘测 Link-Cut-Tree 模板题

    传送门 搞了这么长时间Splay终于可以搞LCT了,等等,什么是LCT? $LCT$就是$Link-Cut-Tree$,是维护动态树的一个很高效的数据结构,每次修改和查询的均摊复杂度为$O(logN) ...

  5. POJMatrix(二维树状数组)

    Matrix Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 22058   Accepted: 8219 Descripti ...

  6. Oracle创建表空间及用户

    1.sys dba登录 2.创建临时表空间 create temporary tablespace wf_temp tempfile 'C:\APP\ADMINISTRATOR\ORADATA\PLA ...

  7. logo上传

  8. ERROR 1130 (HY000) Host ‘hostname’ is not allowed to connect to this MySQL server

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; FLUSH PRIVILEGES;

  9. UIAlertController 标题文字大小 颜色

    NSString *title = [NSString stringWithFormat:]; NSString *msg = @"\n把红包分享给微信好友,金额随机,可用于购买雪票和雪卡& ...

  10. vim tab 中设置title

    在.bashrc添加 export PROMPT_COMMAND='echo -ne "\033]0;your wanted title\007"'