Enum的学习

/*
 * Created on Nov 27, 2014
 *
 * Copyright 2006 ATPCO Confidential and Proprietary. All Rights Reserved.
 */
package com.atpco.textload.processor;

public class TestEnum {
 public static void main(String[] args) {
  System.out.println(BatchStatusType.FILING_IN_PROGRESS.getName());
  System.out.println(BatchStatusType.get(5));
  System.out.println(BatchStatusType.get("available_for_filing"));
  System.out.println(BatchStatusType.values());
  System.out.println(BatchStatusType.getBatchStatusType("AVAILABLE_FOR_FILING"));
 }

}
enum BatchStatusType implements FilingDataType {
 INCOMPLETE("incomplete",1), AVAILABLE_FOR_FILING("available_for_filing",2), FILING_IN_PROGRESS("filing_in_progress",3), FILED("filed",4), AWAITING_DISTRIBUTION("awaiting_distribution",5), DISTRIBUTION_IN_PROGRESS("distribution_in_progress",6), DISTRIBUTED("distributed",7);

private int code;
 private String name;
 
 private BatchStatusType(String name,int code){
  this.name=name;
  this.code=code;
 }

public Integer getCode() {
  return Integer.valueOf(this.code);
 }

public String getName() {
  return this.name;
 }

public static String get(Integer code) {
  for (BatchStatusType e : values()) {
   if (e.getCode().equals(code)) {
    return e.getName();
   }
  }
  return null;
 }

public static Integer get(String name) {
  for (BatchStatusType e : values()) {
   if (e.getName().equals(name)) {
    return e.getCode();
   }
  }
  return null;
 }
 
 public static BatchStatusType getBatchStatusType(final String batchStatusTypeString){
  final BatchStatusType[] allTypes=BatchStatusType.values();
  for(final BatchStatusType batchStatusType:allTypes){
   if(batchStatusType.getValue().equals(batchStatusTypeString)){
    return batchStatusType;
   }
  }
  return null;
 }

public boolean isEquals(BatchStatusType batchStatusType) {
  return equals(batchStatusType);
 }

@Override
 public String getValue() {
  return this.toString();
 }
}

interface FilingDataType {
 String getValue();
}

时间: 2024-08-08 01:44:30

Enum的学习的相关文章

java 枚举(enum)学习

之前没有用过枚举,不懂.今天找了些资料学习了,现在总结如下:(希望高手看到后批评指教) 枚举的作用: 1.限定某一类型的取值范围. 2.不再写public static final...(如果取值范围太广,就太麻烦了),但最终enum还是要转化成class类型,还是会加public static final... 一段代码说明为什么java要有enum类型: package good.good.study; public class EnumStudy2 { public static void

ENUM枚举学习

示例1:#include "stdio.h"void main(){ enum {Mon, Tue, Wed, Thr, Fri, Sat, Sun}; printf("Mon = %d\n", Mon); printf("Tue = %d\n", Tue); printf("Wed = %d\n", Wed); printf("Thr = %d\n", Thr); printf("Fri = %

Java中enum的学习总结

一.通常的定义常量的方法 public class Sex{ public final static int MALE = 1; public final static int FEMALE=2; } 使用的时候,你能够在程序中直接引用这些常量.可是.这样的方式还是存在着一些问题. 类型不安全 因为颜色常量的相应值是整数形.所以程序运行过程中非常有可能给颜色变量传入一个随意的整数值.导致出现错误. 没有命名空间 因为颜色常量仅仅是类的属性,当你使用的时候不得不通过类来訪问. 一致性差 由于整形枚

Rhythmk 一步一步学 JAVA (18): Enum枚举学习

枚举定义: public enum SizeEnum { SMALL, BIG, BIGEST }; public enum SizeStringEnum { SMALL("小"), BIG("大"), BIGEST("巨大"); private String strSizeString; public String toString() { return strSizeString; } private SizeStringEnum(Strin

Enum枚举学习- java5之前和之后的写法

enum枚举 JDK1.5以前枚举的写法 /** * java5.0以前,定义枚举类.类中的对象是有限的 * @author amber * */ public class Season { private final String seasonName; private final String seasonDescription; private Season(String seasonName, String seasonDescription) { this.seasonName = s

java学习05

package day20140918; import org.junit.Test; /* * 由于昨天面试问到了单例模式 * 回顾一下 * 单例设计模式 * */ //饿汉式,类一加载就存在,线程安全 class SingleE{ //定义一个私有成员,便于测试 private int num = 1; private static final SingleE single = new SingleE(); private SingleE(){ num++; } public static

java第二周的学习知识2

sPrimitive() 判断是否为基本类型,Class.isPrimitive(),原始类型下返回true. for(Size value:Size.values()) { //此代码中的values()enum中自动生成,方便遍历enum System.out.println(value); } 枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象.相同的值则引用同一个对象. switch使用enum public class EnumTest { public static void

Swift 学习笔记 enum 枚举类型

异端,异端啊,我感觉这是map吧? 1 enum ATMStatus { 2 case Success(Int) 3 case Error(String) 4 } 5 6 var balance = 200 7 8 func withdraw(amount: Int) -> ATMStatus { 9 if balance >= amount { 10 balance -= amount 11 return .Success(balance) 12 } else { 13 return .Er

Swift学习之enum、struct、class的异同详解

由于在开发过程中常常需要用到系统提供的基础类型之外的的类型,因此Swift开发中我们可以根据自己的需要构建属于自己的类型系统以便于更加灵活和方便的开发程序并将其称之为named types.Swift主要为我们提供了以下四种named types 分别是:enum.struct.class和protocol, 相信熟悉objective-c开发的同学们对于iOS中枚举.结构体和类的概念一点都不陌生.相比于前辈objective-c中的这三者,Swift将enum和struct变得更加灵活且强大,