Java Enum和String及int的相互转化示例

一、定义性别枚举

枚举(enum),是指一个经过排序的、被打包成一个单一实体的项列表。使用枚举增加程序可读性、降低耦合性。

/**
 * 性别枚举
 */
public enum Gender {
  male("男"),female("女");

  private String name;

  private Gender(String name) {
    this.name = name;
  }

  public String getName() {
    return name;
  }
}

二、枚举的基本方法

对于male枚举常量:

public class MyMain {
  public static void main(String[] args) {
    Gender gender = Gender.male;
    System.out.println(gender.toString()); //Gender.male枚举常量的名称
    System.out.println(gender.getName());//Gender.male的name值
    System.out.println(gender.ordinal());//Gender.male枚举常量的序数
  }
}

结果:

三、Enum与String的转化

String maleString = Gender.male.toString(); //Gender转化为String
Gender maleGender = Gender.valueOf("male"); //String转化为Gender,male对应Gender枚举的常量名称

四、Enum与int的转化

int maleInt = Gender.male.ordinal();
//Enum转化为int,返回枚举常量的序数

JAVA Enum指定值的应用(从数据转换为Enum)

enum ACTION{
 ac_Entry(10),ac_View(2),ac_Approve(5);
 private int _val;
 private static final Map<Integer,ACTION> keyMap=new HashMap<Integer,ACTION>();
 static{
  for (ACTION item:ACTION.values()){
  keyMap.put(item._val,item);
  }
 }
 public int getVal(){
  return _val;
 }
 ACTION(int val){
  _val=val;
 }
 public static ACTION fromVal(int pvnVal){
  return keyMap.get(pvnVal);
 }
 }
@Test
 public void testEnum(){
 ACTION e=ACTION.ac_View;
 System.out.println(e+","+e.ordinal()+","+e.getVal());
 e=ACTION.fromVal(5);
 System.out.println(e+","+e.ordinal()+","+e.getVal());
 }

原理,就是用一个map来进行value->enum的转换.

ac_View,1,2
ac_Approve,2,5

到此这篇关于Java Enum和String及int的相互转化示例的文章就介绍到这了,更多相关Java Enum和String及int相互转化内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java枚举(enum) 详解7种常见的用法

    JDK1.5引入了新的类型--枚举.在 Java 中它虽然算个"小"功能,却给我的开发带来了"大"方便.  用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switch JDK1.6之前的switch语句只支持int

  • java中enum的用法

    本文实例讲述了java中enum的用法.分享给大家供大家参考.具体分析如下: 1. 基本用法 复制代码 代码如下: enum Day {     SUNDAY, MONDAY, TUESDAY, WENDSDAY, THURSDAY, FRIDAY, SATURDAY; } 枚举是常量,所以应该用大写. 2. 枚举是对象 枚举隐含地继承了java.lang.Enum,所以它具有java.lang.Enum的属性和方法.遍历枚举: 复制代码 代码如下: public class Main {   

  • Java的枚举enum示例详解

    一. 什么是枚举 枚举是一种数据类型,具有集合的一些特点,可以存放多个元素,但存储对象有限且固定,枚举也有比较常见的使用场景,如我们需要表达性别(男.女),颜色(红.黄.蓝),星期(星期一.星期二...星期日),四季(春.夏.秋.冬),地理位置(东.西.南.北),方向(前.后.左.右)等,这些场景都非常适合枚举. 二. 定义枚举 java中使用enum来定义枚举,和class,interface具有同样的等级,(注意是enum,而不是Enum),定义枚举可以有两种情况 第一种:默认构造器(空构造

  • Java(enum)枚举用法详解

    概念 enum的全称为 enumeration, 是 JDK 1.5 中引入的新特性. 在Java中,被 enum 关键字修饰的类型就是枚举类型.形式如下: enum Color { RED, GREEN, BLUE } 如果枚举不添加任何方法,枚举值默认为从0开始的有序数值.以 Color 枚举类型举例,它的枚举常量依次为RED:0,GREEN:1,BLUE:2 枚举的好处:可以将常量组织起来,统一进行管理. 枚举的典型应用场景:错误码.状态机等. 枚举类型的本质 尽管enum 看起来像是一种

  • Java枚举类enum介绍

    枚举类enum是JDK1.5引入的,之前都是用public static final int enum_value来代替枚举类的.枚举类enum是一种特殊的类,它默认继承了类java.lang.Enum.和其它普通类一样,enum同样可以有成员变量.方法.构造器,也可以实现一个或多个接口,区别是: 1.如果有构造器,必须用private修饰. 2.枚举类不能派生子类. 3.枚举类所有的实例必须在第一行显示定义.系统会自动给这些实例加上public static final修饰,无须程序员显示定义

  • 全面解读Java中的枚举类型enum的使用

    关于枚举 大多数地方写的枚举都是给一个枚举然后例子就开始switch,可是我想说,我代码里头来源的数据不太可能就是枚举,通常是字符串或数字,比如一个SQL我解析后首先判定SQL类型,通过截取SQL的token,截取出来可能是SELECT.DELETE.UPDATE.INSERT.ALTER等等,但是都是字符串,此时我想用枚举就不行了,我要将字符串转换成枚举怎么转呢,类似的情况还有从数据库取出数据根据一些类型做判定,从页面传入数据,根据不同的类型做不同的操作,但是都是字符串,不是枚举,悲剧的是我很

  • java 中enum的使用方法详解

    java 中enum的使用方法详解 enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中. 下面是我在使用 enum 过程中的一些经验和总结. 原始的接口定义常量 public interface IConstants { String MON = "Mon"; String TUE = "Tue"; String WED = "Wed"; String THU = "Thu

  • Java中EnumSet代替位域代码详解

    本文研究的主要是Java中EnumSet代替位域的相关内容,具体介绍如下. 读书笔记<Effective Java 中文版 第2版> 位域表示法允许利用位操作,有效地执行先 union(联合)和 intersection(交集)这样的集合操作.但是位域有着int枚举常亮的所有缺点,甚至更多.当位域一数字形式打印时,翻译位域比翻译简单的int枚举常量要困难得多.甚至,要遍历位域表示的所有元素都没有很容易的方法. //Bit field enumeration constant - OBSOLET

  • 三分钟快速掌握Java中枚举(enum)

    什么是枚举? 枚举是JDK5引入的新特性.在某些情况下,一个类的对象是固定的,就可以定义为枚举.在实际使用中,枚举类型也可以作为一种规范,保障程序参数安全.枚举有以下特点: Java中枚举和类.接口的级别相同. 枚举和类一样,都有自己的属性.方法.构造方法,不同点是:枚举的构造方法只能是private修饰,也就无法从外部构造对象.构造方法只在构造枚举值时调用. 使用enum关键字声明一个枚举类型时,就默认继承自Java中的 java.lang.Enum类,并实现了java.lang.Seriab

  • Java enum的用法详细介绍及实例代码

    Java enum的用法 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switch JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强. enum Signal { GREEN, YEL

随机推荐