Java enum枚举的使用方法
一. 出现背景:
在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枚举的使用方法的更多相关文章
- Java enum(枚举)的用法详解(转)
用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. p ...
- 161208、Java enum 枚举还可以这么用
在大部分编程语言中,枚举类型都会是一种常用而又必不可少的数据类型,Java中当然也不会例外.然而,Java中的Enum枚举类型却有着许多你意想不到的用法,下面让我们一起来看看. 先来看一段代码示例: ...
- Java enum枚举类型
java的枚举类型详解: 简单示例: public enum Color{ RED,BLUE,BLACK,YELLOW,GREEN } 复杂示例(带自定义构造方法与类型) public enum En ...
- (转)java enum枚举
转载自: 原理:http://singleant.iteye.com/blog/686349 应用:http://www.cnblogs.com/happyPawpaw/archive/2013/04 ...
- Java Enum枚举的用法(转)
说明:Java的枚举比dotnet的枚举好用,至少支持的方式有很多. 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以 ...
- Java的枚举类型使用方法详解
1.背景在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用public final static 方法定义的代码如下,分别用1 表示春天,2表示夏 ...
- Java Enum 枚举的简单使用
一.什么是枚举 值类型的一种特殊形式,它从 System.Enum 继承,并为基础基元类型的值提供备用名称.枚举类型有名称.基础类型和一组字段.基础类型必须是一个内置的有符号(或无符号)整数类型(如 ...
- Java - Enum 枚举类型
目录 前言 应用 定义 基本Enum特性 Enum的静态导入 Enum中添加新方法 Switch语句中的Enum Enum的继承 EnumSet的使用 EnumMap的使用 常量相关方法 枚举值向枚举 ...
- 简单认识java enum枚举
什么是枚举 枚举是java5中新增的特性,他是一个特殊的数据类型,他的特殊性在于他既是一种类类型,又比类类型多了安全性,简洁性,便捷性.java枚举类型是功能十分强大齐全的类,功能比其他语言中的对等物 ...
随机推荐
- OgnlContext 源码
// Copyright (c) 1998-2004, Drew Davidson and Luke Blanshard package ognl; import ognl.enhance.Local ...
- 【转】超简单利用UGUI制作圆形小地图
http://sanwen.net/a/ithhtbo.html 由于UI都是Achor自己用PS做的,比较粗糙,大家见谅,不过丝毫不影响功能的实现,下面我们看看今天的笔记: 首先我们看看需要哪些组件 ...
- 【转】UGUI(小地图的实现)与游戏关卡选择的简单实现
http://www.jianshu.com/p/68637029e9df 游戏中小地图的实现(场景用简单Cube组成先搭建如下图场景,真实场景实现方法也是一样) 图1-1小地图效果图 1.创建好场景 ...
- 【bzoj3028】食物 数论+生成函数
题目描述 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险! 我们暂且不讨论他有多么NC,他又幻想了他应该带一些什么东西.理所当然的,你当然要帮他计算携带N件物品的方案数. 他这次又准备带一 ...
- react history模式下的白屏问题
近期,再用react的时候,由于不想用丑陋的hash,便将路由模式切换成history了,结果带来了一些问题,比如刷新白屏,还有图片加载不出来,这里我们说一下解决方案. 原因 首先,我们说一下造成这一 ...
- Brain Powerd计划
Brain Powerd这片子没有高清的版本,只有DVD..(我手上只有个DVDRip,X2字幕组的)同时字幕质量也不行. 开个坑用waifu2x压个好看一点(用DVDRip)的,码率大概是3.3M ...
- 如何用jquery获得td里边的内容
jQuery 中使用 text() 或者 html() 函数可以获取td的内容: $("td").text(); // 或者 $("td").html(); ...
- BZOJ 3509: [CodeChef] COUNTARI
3509: [CodeChef] COUNTARI Time Limit: 40 Sec Memory Limit: 128 MBSubmit: 883 Solved: 250[Submit][S ...
- css3 实现多行文本折行
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JSTL获取Session的ID与获取文件的真实路径与项目名称
今天在测试集群配置的时候想到session共享,因此想要获取sessionID,可以通过下面方法: ${pageContext.session.id} 获取文件的真实路径: <%=request ...