Java下枚举变量与其他数据类型的转换

简介: Java下枚举变量与其他数据类型的转换当使用enum定义一个枚举类型时,实际上所定义的类型自动继承了java.lang.Enum类。而每个被枚举的成员实质就是一个枚举类型的实例,他们默认都是public static final的。

Java下枚举变量与其他数据类型的转换

当使用enum定义一个枚举类型时,实际上所定义的类型自动继承了java.lang.Enum类。而每个被枚举的成员实质就是一个枚举类型的实例,他们默认都是public static final的。可以直接通过枚举类型名直接使用它们,枚举类型名,可以转为一个数值,或作字符匹配的方法来识别类型,所以我们在写枚举类型的时候,可以简单理解为一个个的串

如下:

public enum emOrder {
        orOne, orTwo, orClass   
    }

emOrder ot = emOrder.orTwo;

错误的做法:String str = "我是第"  + ot + "个进入皇室的成员"

得到的结果将是:“我是第orTwo个进入皇室的成员”

正确的做法:String str = "我是第"  + String.valueOf(nSoftType.ordinal()+1) + "个进入皇室的成员"

得到的结果将是:“我是第2个进入皇室的成员”

 

 

------------------

java.lang.Enum类
public abstract class Enum<E extends Enum<E>>extends Objectimplements Comparable<E>, Serializable这是所有 Java 语言枚举类型的公共基本类。
------------------
构造方法摘要
protected Enum(String name,int ordinal)
    单独的构造方法。程序员无法调用此构造方法。该构造方法用于由响应枚举类型声明的编译器发出的代码。
    参数:
    name - - 此枚举常量的名称,它是用来声明该常量的标识符。
    ordinal - - 枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。
------------------
方法摘要
protected Object clone()
          抛出 CloneNotSupportedException。
int compareTo(E o)
          比较此枚举与指定对象的顺序。在该对象小于、等于或大于指定对象时,分别返回负整数、零或正整数。 枚举常量只能与相同枚举类型的其他枚举常量进行比较。该方法实现的自然顺序就是声明常量的顺序。
boolean equals(Object other)
          当指定对象等于此枚举常量时,返回 true。
Class<E> getDeclaringClass()
          返回与此枚举常量的枚举类型相对应的 Class 对象。当且仅当 e1.getDeclaringClass() == e2.getDeclaringClass() 时,两个枚举常量 e1 和 e2 的枚举类型才相同。(由该方法返回的值不同于由 Object.getClass() 方法返回的值,Object.getClass() 方法用于带有特定常量的类主体的枚举常量。)
int hashCode()
          返回枚举常量的哈希码。
String name()
          返回此枚举常量的名称,在其枚举声明中对其进行声明。 与此方法相比,大多数程序员应该优先考虑使用 toString() 方法,因为 toString 方法返回更加用户友好的名称。该方法主要设计用于特殊情形,其正确性取决于获得正确的名称,其名称不会随版本的改变而改变
int ordinal()
          返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。 大多数程序员不会使用此方法。它被设计用于复杂的基于枚举的数据结构,比如 EnumSet 和 EnumMap。
String toString()
          返回枚举常量的名称,它包含在声明中。
public static <T extends Enum<T>> T valueOf(Class<T> enumType, String name)
          返回带指定名称的指定枚举类型的枚举常量。名称必须与在此类型中声明枚举常量所用的标识符完全匹配。(不允许使用额外的空白字符。)
   参数:
   enumType - 要从中返回常量的枚举类型的 Class 对象
   name - 要返回的常量名称
注意:ordinal() 方法得到枚举顺序的索引,默认从0开始。

相关文章
|
11天前
|
Java
Java 变量命名规则
4月更文挑战第6天
|
7天前
|
存储 Java
Java中的基本数据类型有哪些?它们的大小和取值范围是多少?
Java基础数据类型:4种整型(byte[-128,127],short[-32,768,32,767]),2种浮点(float,double),1种字符(char,Unicode),1种布尔(true,false)。
12 0
|
1月前
|
Java
JAVA基本数据类型输入输出流
JAVA基本数据类型输入输出流
14 0
|
1月前
|
存储 算法 Java
Java基本数据类型
Java基本数据类型
22 1
|
8天前
|
Java API
Java基础—笔记—内部类、枚举、泛型篇
本文介绍了Java编程中的内部类、枚举和泛型概念。匿名内部类用于简化类的创建,常作为方法参数,其原理是生成一个隐含的子类。枚举用于表示有限的固定数量的值,常用于系统配置或switch语句中。泛型则用来在编译时增强类型安全性,接收特定数据类型,包括泛型类、泛型接口和泛型方法。
9 0
|
25天前
|
Java 数据库连接 API
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java 是一种广泛使用的、面向对象的编程语言,始于1995年,以其跨平台性、安全性和可靠性著称,应用于从移动设备到数据中心的各种场景。基础概念包括变量(如局部、实例和静态变量)、数据类型(原始和非原始)、条件语句(if、else、switch等)、函数、循环、异常处理、数据结构(如数组、链表)和面向对象编程(类、接口、继承等)。深入学习还包括包、内存管理、集合框架、序列化、网络套接字、泛型、流、JVM、垃圾回收和线程。构建工具如Gradle、Maven和Ant简化了开发流程,Web框架如Spring和Spring Boot支持Web应用开发。ORM工具如JPA、Hibernate处理对象与数
90 3
|
28天前
|
存储 Java C语言
【Java】以数组为例简单理解引用类型变量
【Java】以数组为例简单理解引用类型变量
14 1
|
28天前
|
自然语言处理 Java
这是什么操作?java中的变量竟然可以先使用后声明?
这是什么操作?java中的变量竟然可以先使用后声明?
14 0
|
29天前
|
存储 Java
Java基本数据类型
Java基本数据类型
7 0
|
29天前
|
存储 安全 Java
Java变量类型
Java变量类型
7 0