Java Enum 枚举的简单使用
一、什么是枚举
值类型的一种特殊形式,它从 System.Enum 继承,并为基础基元类型的值提供备用名称。枚举类型有名称、基础类型和一组字段。基础类型必须是一个内置的有符号(或无符号)整数类型(如 Byte、Int32 或 UInt64)。字段是静态文本字段,其中的每一个字段都表示常数。所使用的语言给每个字段都分配一个基础类型的特定值。JDK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。
二、枚举的使用
1、枚举的定义和简单访问
package com.test; public class EnumProgram {
//获得枚举的常量
Signal number = Signal.FOUR;
int n = 0;
//定义一个方法
public void calculation(){
switch (number){
case ONE:
n=1;
break;
case TWO:
n=2;
break;
case Three:
n=3;
break;
case FOUR:
n=4;
break; }
} public static void main(String[] args) {
EnumProgram en = new EnumProgram();
System.out.println(en.n);
en.calculation();
System.out.println(en.n); System.out.println(Signal.Three); } } //创建一个枚举,里面放了 ONE,TWO,Three,FOUR 四个常量
enum Signal{
ONE,TWO,Three,FOUR
}
结果:
2、向枚举中添加方法
package com.test; public class EnumProgram {
public static void main(String[] args) {
//使用
System.out.println(Color.BULE.getName());
System.out.println(Color.BULE.getIndex());
System.out.println(Color.getColorName(1));
System.out.println(Color.getColorIndex("绿色"));
}
} //创建一个枚举
enum Color{
RED("红色",1),BULE("蓝色",2),GREEN("绿色",3),WHITE("白色",4);
private String name;
private int index; //构造函数
private Color(String name,int index){
this.name=name;
this.index=index;
}
//枚举方法
public static String getColorName(int index){
for(Color c : Color.values()){
if(c.getIndex()==index){
return c.getName();
}
}
return null;
} //枚举方法
public static int getColorIndex(String name){
for(Color c : Color.values()){
if(c.getName()==name){
return c.getIndex();
}
}
return -1;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getIndex() {
return index;
} public void setIndex(int index) {
this.index = index;
}
}
结果:
package com.test; public class EnumProgram {
public static void main(String[] args) {
//使用
Color.BULE.print();
}
} //定义一个接口
interface FunRea{
void print(); //定义一个方法
} //创建一个枚举,继承接口
enum Color implements FunRea{
RED("红色",1),BULE("蓝色",2),GREEN("绿色",3),WHITE("白色",4);
private String name;
private int index; //构造函数
private Color(String name,int index){
this.name=name;
this.index=index;
} //实现接口的方法
@Override
public void print() {
System.out.println(this.name+" : "+this.index);
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getIndex() {
return index;
} public void setIndex(int index) {
this.index = index;
} }
结果:
Java Enum 枚举的简单使用的更多相关文章
- 简单认识java enum枚举
什么是枚举 枚举是java5中新增的特性,他是一个特殊的数据类型,他的特殊性在于他既是一种类类型,又比类类型多了安全性,简洁性,便捷性.java枚举类型是功能十分强大齐全的类,功能比其他语言中的对等物 ...
- 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.... .现在好了,有了枚举,可以 ...
- 161208、Java enum 枚举还可以这么用
在大部分编程语言中,枚举类型都会是一种常用而又必不可少的数据类型,Java中当然也不会例外.然而,Java中的Enum枚举类型却有着许多你意想不到的用法,下面让我们一起来看看. 先来看一段代码示例: ...
- Java Enum枚举 遍历判断 四种方式(包括 Lambda 表达式过滤)
示例代码如下: package com.miracle.luna.lambda; import java.util.Arrays; /** * @Author Miracle Luna * @Date ...
- Java enum(枚举)的用法详解(转)
用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. p ...
- Java enum枚举在实际项目中的常用方法
在项目实际开发过程中,经常会遇到对某些固定的值.字典项的定义的需求,很多项目经常使用常量来定义,其实在jdk1.5就已经引入了枚举,使用枚举可以更好的解决这类需求,本文主要记录枚举的优势以及经常在项目 ...
- java enum(枚举)的使用
在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的. 例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集” ...
随机推荐
- sourceTree 代码回滚(git 和http)
近些时候,有遇到提交后代码有误的情况,所以需要回退到前一个版本.因为不常见,所以每次都不是很熟练,记录于此,以备查阅. 一.[将master重置到这次提交] 在sourceTree中选中错误的提交的下 ...
- eclipse Java EE 与 Java 区别
1. 综述 eclipse IDE 一般来说有三种可切换的模式 Java EE Java 调试 可直接下拉至底部看两者的比较. 2. Java Java 是带有用户界面的 基本IDE ,缺少数据库和w ...
- 【C#并发】00概述
摘自<C#并发编程经典实例>[美]Stephen Cleary 并发:同时做多件事情.终端用户利用并发功能,在输入数据库的同时相应用户输入.服务器应用并发,在处理第一个请求的同时响应第二个 ...
- ZJNU 1269 - 灯塔——高级
根据题目输入可以得到一个有向图 信号可以根据有向图的传递性传递,因此可以说是找到这个有向图的所有父亲即可 但又要考虑可能会出现环这类情况 所以跑一遍强连通分量模板,再根据分块后的图找到入度为0的块,把 ...
- drf序列化和反序列化
目录 drf序列化和反序列化 一.自定义序列化 1.1 设置国际化 二.通过视图类的序列化和反序列化 三.ModelSerializer类实现序列化和反序列化 drf序列化和反序列化 一.自定义序列化 ...
- Python基础学习四
Python基础学习四 1.内置函数 help()函数:用于查看内置函数的用途. help(abs) isinstance()函数:用于判断变量类型. isinstance(x,(int,float) ...
- C# 查找其他应用程序并打开、显示、隐藏、关闭的API
软件开发中,有时迫不得已要用到第三方的软件,这时就涉及到在C#应用程序需要对第三方软件打开.显示.隐藏以及关闭. 下面列举了几个常用的方式 打开应用程序,下面是2种简单用法: 第一种: public ...
- video文件转blob
//创建 XMLHttpRequest 对象 var xhr = new XMLHttpRequest(); //配置请求方式.请求地址以及是否同步 xhr.open('POST', './play' ...
- 详解python可迭代对象、迭代器和生成器
可迭代对象 什么是可迭代对象?顾名思义就是可以迭代的一个对象,再通俗点就是可以被for循环遍历的对象,如常用的list.str等数据类型.我们可以使用isinstance来判断这个数据是否是可迭代对象 ...
- shell_innobackup增量备份步骤
alias start='service mysql.server start'alias restart='service mysql.server restart'alias stop='serv ...