一. 出现背景:

在JDK1.5之前,我们定义常量是这种:public static final String RED = “RED”;

在JDK1.5中增加了枚举类型,我们能够把相关的常量分组到一个枚举类中:

public enum Color {
RED, GREEN, BLUE;
}

使用的时候能够这样:Color c = Color.RED

二. 枚举特点:

1. 枚举enum是一个特殊的Java类。它继承自java.lang.Enum,继承了非常多Enum的方法。但枚举类是一个不能够被继承的final类

2. 枚举类能够定义在interface或class中。当然枚举类型中有构造函数、方法、数据域:

public interface MyConstants {
enum Color {
RED("RED", 1), GREEN("GREEN", 2), BLUE("BLUE", 3); String desc; Integer value; private Color(String desc, Integer value) {
this.desc = desc;
this.value = value;
}
} enum Light {
RED, GREEN, YELLOW;
}
}

使用:MyConstants.Color.RED

3. 枚举类中的够早期和普通类的构造器有些不同:

(a). 构造器仅仅是在构造枚举值的时候被调用

(b). 构造器仅仅能私有,这样能够保证外部代码无法新构建枚举类的实例

4. 全部枚举类继承了Enum的方法,以下是这些方法使用介绍:

(a). ordinal()  返回枚举值在枚举种类的顺序,这个顺序依据枚举值声明的顺序

(b). compareTo()  Enum实现了java.lang.Comparable接口。它返回的是两个枚举值的顺序之差,但这两个枚举值必须属于同一个枚举类

(c). values   返回一个包括所有枚举值的数组

(d). toString  返回枚举常量的名称

(e). valueOf  类似toString

(f). equals   比較两个枚举类对象的应用

5. 在switch中使用:

public enum Light{
RED, GREEN, YELLOW;
} class Test {
public static void main(String[] args) {
Light light = Light.RED;
switch (light) {
case RED:
System.out.println("it's red");
break;
case GREEN:
System.out.println("it's green");
break;
case YELLOW:
System.out.println("it's yellow");
break;
}
}
}

Java enum枚举的使用方法的更多相关文章

  1. Java enum(枚举)的用法详解(转)

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

  2. 161208、Java enum 枚举还可以这么用

    在大部分编程语言中,枚举类型都会是一种常用而又必不可少的数据类型,Java中当然也不会例外.然而,Java中的Enum枚举类型却有着许多你意想不到的用法,下面让我们一起来看看. 先来看一段代码示例: ...

  3. Java enum枚举类型

    java的枚举类型详解: 简单示例: public enum Color{ RED,BLUE,BLACK,YELLOW,GREEN } 复杂示例(带自定义构造方法与类型) public enum En ...

  4. (转)java enum枚举

    转载自: 原理:http://singleant.iteye.com/blog/686349 应用:http://www.cnblogs.com/happyPawpaw/archive/2013/04 ...

  5. Java Enum枚举的用法(转)

    说明:Java的枚举比dotnet的枚举好用,至少支持的方式有很多. 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以 ...

  6. Java的枚举类型使用方法详解

    1.背景在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用public final static 方法定义的代码如下,分别用1 表示春天,2表示夏 ...

  7. Java Enum 枚举的简单使用

    一.什么是枚举 值类型的一种特殊形式,它从 System.Enum 继承,并为基础基元类型的值提供备用名称.枚举类型有名称.基础类型和一组字段.基础类型必须是一个内置的有符号(或无符号)整数类型(如 ...

  8. Java - Enum 枚举类型

    目录 前言 应用 定义 基本Enum特性 Enum的静态导入 Enum中添加新方法 Switch语句中的Enum Enum的继承 EnumSet的使用 EnumMap的使用 常量相关方法 枚举值向枚举 ...

  9. 简单认识java enum枚举

    什么是枚举 枚举是java5中新增的特性,他是一个特殊的数据类型,他的特殊性在于他既是一种类类型,又比类类型多了安全性,简洁性,便捷性.java枚举类型是功能十分强大齐全的类,功能比其他语言中的对等物 ...

随机推荐

  1. c++ 中double与string之间的转换,char *

    运行代码为 /* * main.cpp * * Created on: Apr 7, 2016 * Author: lizhen */ #include <iostream> //#inc ...

  2. [TC_SRM_466]DrawingBlackCrosses

    [TC_SRM_466]DrawingBlackCrosses 试题描述 \(n \times m\)(\(n, m \le 20\))的棋盘 其中至多有 \(8\) 个格子为黑色,其他格子为白色 每 ...

  3. Surface机制(SurfaceFlinger服务)

    Android系统Surface机制的SurfaceFlinger服务的线程模型分析http://blog.csdn.net/luoshengyang/article/details/8062945

  4. cf 613E - Puzzle Lover

    Description 一个\(2*n\)的方格矩阵,每个格子里有一个字符 给定一个长度为\(m\)的字符串\(s\) 求在方格矩阵中,有多少种走法能走出字符串\(s\) 一种合法的走法定义为:从任意 ...

  5. Number String(hdu 4055)

    题意:给定一个字符串,I表示本字符要比前一个字符大,D表示本字符要不前一个字符小,?可大可小,问1~n的所有排列中,有多少满足条件 /* dp方程的设定比较显然,dp[i][j]表示选了i个元素,最后 ...

  6. 30+ Excellent Windows Phone 7 Development Tutorials

    原文发布时间为:2012-01-16 -- 来源于本人的百度文章 [由搬家工具导入] Here are 30+ cool Windows Phone Development articles for ...

  7. Qualcomm MPM introduction

    在 Qualcomm chip 裡有一個 hardware block 名為 MPM. 在 RPM CPU halts 後,MPM 會保持在 on 的狀態用來處理 全系統 sleep process ...

  8. golang xorm reverse 自动生成数据库实体文件

    一.先安装好需要的东西 xorm 也可以参考官方文档 readme.md https://github.com/go-xorm/cmd 和 http://xorm.io/docs/ go get gi ...

  9. Netty内存池

    参考资料:http://blog.csdn.net/youaremoon/article/details/47910971 主要思想:buddy allocation,jemalloc

  10. angular6安装

    中文 https://www.angular.cn/ 二.下载 1.安装 node.js https://nodejs.org/en/ 2.删除老angular-cli npm uninstall - ...