一、Enum Review

​ Java Enum(枚举)是jdk1.5介绍的新特性,使用Java Enum能够更有效的定义集合和常量,使用Enum 也能够增加程序的观赏性和可读性,但是有时候我们使用Enum 需要把它从Java Enum转换为String类型,下面是具体用法

一般常量的定义

  1. public class EnumOrder {
  2. public static final int BIKE = 1;
  3. public static final int BUS = 2;
  4. public static final int CAR = 3;
  5. public static final int TRUCK = 4;
  6. }

一般使用上面的代码来定义一组常量。

定义枚举

  1. public enum Vehicle {
  2. BIKE, BUS, CAR, TRUCK;
  3. }

定义枚举要比定义常量简单很多,而且枚举是final的。

二、使用name()方法转换为String

​ 给定上面定义的Vehicle枚举,让我们解决如何将其转换为String的问题。使用name() 方法能够把Java Enum转换为String

  1. public class VehicleTest {
  2. public static void main(String[] args) {
  3. System.out.println(Vehicle.BIKE.name());
  4. System.out.println(Vehicle.BUS.name());
  5. System.out.println(Vehicle.CAR.name());
  6. System.out.println(Vehicle.TRUCK.name());
  7. }
  8. }

使用name()方法能够获得Enum的名称,name()方法是枚举类内置的方法。

三、使用toString()方法转换为String

​ 像大多数的对象一样,默认都会有一个toString()方法,枚举也不例外

  1. public class VehicleTest {
  2. public static void main(String[] args) {
  3. System.out.println(Vehicle.BIKE.toString());
  4. System.out.println(Vehicle.BUS.toString());
  5. System.out.println(Vehicle.CAR.toString());
  6. System.out.println(Vehicle.TRUCK.toString());
  7. }
  8. }

toString()方法可写可不写,默认会调用每个Enum对象的toString()方法。

四、使用成员属性转换为String

​ Enum除了定义为final之外,它就像一个普通类一样,能够定义属性和方法、构造函数等。

  1. public enum Vehicle {
  2. BIKE("Enum Bike"),
  3. BUS("Enum Bus"),
  4. CAR("Enum Car"),
  5. TRUCK("Enum Truck");
  6. String name;
  7. Vehicle(String name){
  8. this.name = name;
  9. }
  10. public String getName() {
  11. return name;
  12. }
  13. public static void main(String[] args) {
  14. System.out.println(Vehicle.BIKE.getName());
  15. System.out.println(Vehicle.BUS.getName());
  16. System.out.println(Vehicle.CAR.getName());
  17. System.out.println(Vehicle.TRUCK.getName());
  18. }
  19. }

给每个enum定义了一个name属性,提供一个getName方法访问Enum的属性

注意:给Enum定义属性的时候,必须要用构造器对属性赋值

Enum to String 一般用法的更多相关文章

  1. C#中string.format用法详解

    C#中string.format用法详解 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Form ...

  2. String.format()用法

    package junit.test;   import java.util.Date; import java.util.Locale;   import org.junit.Test;   pub ...

  3. java中String的用法

    String的用法很活跃,也用到的很多.可以根据自己的需要查询API.这里只有concat和substring,indexof的用法 class TestString { public static ...

  4. C#中string.Format 用法详解

    这篇文章主要介绍了C#中string.format用法,以实例形式较为详细的讲述了string.format格式化的各种用法,非常具有实用价值,需要的朋友可以参考下 本文实例总结了C#中string. ...

  5. C# Enum,Int,String的互相转换 [转]

    C# Enum,Int,String的互相转换 Enum为枚举提供基类,其基础类型可以是除 Char 外的任何整型.如果没有显式声明基础类型,则使用 Int32.编程语言通常提供语法来声明由一组已命名 ...

  6. Oracle中dbms_random.string 的用法

    转载:https://blog.csdn.net/simonchi/article/details/8657787 DBMS_RANDOM.STRING(var1,var2) 这个函数有两个参数 va ...

  7. 关于java中String的用法

    在java 中String存在许多的基本函数,接下来了解一下这些函数的基本用法 String.equals用法(这个用法比较难) String类中的equals()方法: public boolean ...

  8. java成神之——java中string的用法

    java中String的用法 String基本用法 String分割 String拼接 String截取 String换行符和format格式化 String反转字符串和去除空白字符 String获取 ...

  9. string.join用法

    C# String.Join用法 String.Join(String, String[]) 在指定 String 数组的每个元素之间串联指定的分隔符 String,从而产生单个串联的字符串 例如: ...

随机推荐

  1. cf891a Pride

    倘若存在 1,那么答案是 \(n-cnt_1\). 否则,设最短的公约数为 1 的区间长度为 \(minlen\),答案是 \(minlen-1+n-1\). #include <iostrea ...

  2. c#笔记2018-12-26

    using System; /*C#学习笔记2018-12-26 * 1.@逐字字符串 * 2.数据类型转换 * 3.变量声明和占位符使用 * 4.接收用户输入值 * 5.const 关键字 * 6. ...

  3. 逻辑回归(Logistic Regression)算法小结

    一.逻辑回归简述: 回顾线性回归算法,对于给定的一些n维特征(x1,x2,x3,......xn),我们想通过对这些特征进行加权求和汇总的方法来描绘出事物的最终运算结果.从而衍生出我们线性回归的计算公 ...

  4. php 注册与登录

    <body background="timg.jpg"><div class="dak"> <div class="zu ...

  5. 九度oj 题目1112:拦截导弹

    题目描述: 某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导 ...

  6. iOS静态库(.a文件)

    1.找到静态库工程

  7. 【Luogu】P1854花店橱窗布置(DP)

    照例良心题目链接 此题使用f[i][j]表示前i束花放进前j个花瓶的时候的最大值.转移方程如下 f[i][j]=max(f[i][j-1],f[i-1][j-1]+que[i][j]) 其中que[i ...

  8. 洛谷P3760 - [TJOI2017]异或和

    Portal Description 给出一个\(n(n\leq10^5)\)的序列\(\{a_n\}(\Sigma a_i\leq10^6)\),求该数列所有连续和的异或和. Solution 线段 ...

  9. kali 1.1.0 boot failed

    从几个月前的14.10 daily 版本就有U盘刻录无法启动的现象,相关bug可参见:         https://bugs.launchpad.net/ubunt ... reator/+bug ...

  10. 在 Linux 实例上自动安装并运行 VNC Server

    原文网址:https://help.aliyun.com/knowledge_detail/41181.html?spm=5176.8208715.110.11.4c184ae8mlC7Yy 您可以使 ...