Java中枚举类型的使用

虽然Java中有枚举类型这种数据类型,但是很少用,其实当用到星期、月份、四季等数据集的时候,无疑,枚举类型不仅很方便地解决了整数和字符串的映射问题,而且极大地提高了程序的可读性。

下面就用简单的程序代码来说明这种问题:

1.枚举类型自动赋值,默认情况下枚举变量从前到后分别被赋值为0、1、2、3、4、5....然后用循环的方式将枚举变量的名称和其对应的下标打印出来。

/*
  * @author mnmlist
  * @date 8/18/2015
  * @description of the basic usage of enum
  */
 enum Color1
 {
	 RED,GREEN,BLUE,PINK;
	 private Color1(){};
	 public static void printAllValues()
	 {
		 for(Color1 color:Color1.values())
		 {
			 System.out.println("Name:"+color+",Index:"+color.ordinal());//名称和下标
		 }
	 }
	 public static void printOneValue()
	 {
		 System.out.println("Name:"+RED+",Index:"+RED.ordinal());
	 }
 }
public class EnumDemo
{

	public static void main(String[] args)
	{
//		for(Color color:Color.values())
//			color.printValue();
		System.out.println("Print one value:");
		Color1.printOneValue();
		System.out.println("Print all values:");
		Color1.printAllValues();
	}

}

结果:

Print one value:
Name:RED,Index:0
Print all values:
Name:RED,Index:0
Name:GREEN,Index:1
Name:BLUE,Index:2
Name:PINK,Index:3

2.利用构造函数对枚举变量进行赋值,这样就可以从随便某个整型的值开始而不是仅从0开始

 enum Color
{
	RED(3),YELLOW(5),BLUE(9);
	private int value;
	private Color(){}
	private  Color(int value)
	{
		this.value=value;
	}
	public void printValue()
	{

		System.out.println("Name:"+this.name()+",Value:"+this.value);//名称和对应的值
	}

}
public class EnumDemo
{

	public static void main(String[] args)
	{
		for(Color color:Color.values())
			color.printValue();
	}

}

结果:

Name:RED,Value:3
Name:YELLOW,Value:5
Name:BLUE,Value:9

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-21 00:54:57

Java中枚举类型的使用的相关文章

Java中枚举类型Enum的一种使用方式

枚举类定义如下: package com.qunar.enumtest; public enum Status { SCUUESS("1", "成功"), FAILED("2", "失败"); private String value; private String desc; public String getValue() { return value; } public void setValue(String valu

Java中枚举的使用

一. JDK5之前的实现方式 在枚举类型出现之前,java是通过在接口或者类中定义public static final 的变量来实现的. 比如对于四季的描述: --------------------------------------------------------------------------------- public interface Season {    public static final int SEASON_SPRINT = 1;    public stati

Java enum枚举类型

java的枚举类型详解: 简单示例: public enum Color{ RED,BLUE,BLACK,YELLOW,GREEN } 复杂示例(带自定义构造方法与类型) public enum EnumTest { FRANK("The given name of me"), LIU("The family name of me"); private String context; private String getContext(){ return this.

深度分析Java的枚举类型—-枚举的线程安全性及序列化问题

原文:深度分析Java的枚举类型--枚举的线程安全性及序列化问题 枚举是如何保证线程安全的 要想看源码,首先得有一个类吧,那么枚举类型到底是什么类呢?是enum吗?答案很明显不是,enum就和class一样,只是一个关键字,他并不是一个类,那么枚举是由什么类维护的呢,我们简单的写一个枚举: public enum t { SPRING,SUMMER,AUTUMN,WINTER; } 然后我们使用反编译,看看这段代码到底是怎么实现的,反编译(Java的反编译)后代码内容如下: public fin

java中整数类型的2进制表示

java中的4种整数类型:byte,short,int,long均采用补码表示. 如下图右边所示 在java中对二进制数没有"字面"表示方法.十六进制可以用OX或者Ox指示,八进制可以用O指示. 下面的代码可以输出byte类型的数据的2进制表示形式: public class Test { public static void main(String[] args) { byte a = -128; test(a); } public static void test(byte m){

Java中值类型与引用类型

JAVA中值类型和引用类型的不同? 1.定义 引用类型表示你操作的数据是同一个,也就是说当你传一个参数给另一个方法时,你在另一个方法中改变这个变量的值,那么调用这个方法是传入的变量的值也将改变:值类型表示复制一个当前变量传给方法,当你在这个方法中改变这个变量的值时,最初生命的变量的值不会变.通俗说法: 值类型就是现金,要用直接用:引用类型是存折,要用还得先去银行取现. 2.分类 (1)值类型 值类型也就是基本数据类型 基本数据类型常被称为四类八种. 四类:1.整型 2.浮点型 3.字符型4.逻辑

Java中String类型详解

这篇博客是我一直想总结的,这两天一直比较忙,先上传下照片吧,过后有时间再弄成正常的. 本文主要是对Java中String类型的总结,包括其在JVM中是怎么存储的...

Java中double类型的数据精确到小数点后两位

Java中double类型的数据精确到小数点后两位 多余位四舍五入,四种方法 一: double f = 111231.5585;BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue(); 二: new java.text.DecimalFormat("#.00").format(3.1415926) 三: double d = 3.1415926

java中String类型转换方法

integer to String : int i = 42;String str = Integer.toString(i);orString str = "" + idouble to String :String str = Double.toString(i);long to String :String str = Long.toString(l);float to String :String str = Float.toString(f);String to intege