一、Enum Review

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

一般常量的定义

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

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

定义枚举

    public enum Vehicle {
BIKE, BUS, CAR, TRUCK;
}

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

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

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

    public class VehicleTest {
public static void main(String[] args) {
System.out.println(Vehicle.BIKE.name());
System.out.println(Vehicle.BUS.name());
System.out.println(Vehicle.CAR.name());
System.out.println(Vehicle.TRUCK.name());
}
}

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

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

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

    public class VehicleTest {
public static void main(String[] args) {
System.out.println(Vehicle.BIKE.toString());
System.out.println(Vehicle.BUS.toString());
System.out.println(Vehicle.CAR.toString());
System.out.println(Vehicle.TRUCK.toString());
}
}

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

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

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

    public enum Vehicle {

      BIKE("Enum Bike"),
BUS("Enum Bus"),
CAR("Enum Car"),
TRUCK("Enum Truck"); String name;
Vehicle(String name){
this.name = name;
} public String getName() {
return name;
} public static void main(String[] args) {
System.out.println(Vehicle.BIKE.getName());
System.out.println(Vehicle.BUS.getName());
System.out.println(Vehicle.CAR.getName());
System.out.println(Vehicle.TRUCK.getName());
}
}

给每个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. Knockout v3.4.0 中文版教程-14-控制文本内容和外观-style绑定

    5. style绑定 目的 style绑定用来给关联的DOM元素添加或移除一个或多个样式值.在如下情况很有用,比如,当某些值为负时,高亮显示,或者设置容器元素的宽度来匹配数值的改变. (注意:如果你不 ...

  2. 【LeetCode】Palindrome Number(回文数)

    这道题是LeetCode里的第9道题. 题目说的: 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: ...

  3. Leetcode 375.猜数字大小II

    猜数字大小II 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字. 每次你猜错了,我都会告诉你,我选的数字比你的大了或者小了. 然而,当你猜了数字 x ...

  4. zoj 2679 Old Bill

    Old Bill Time Limit: 2 Seconds      Memory Limit: 65536 KB Among grandfather��s papers a bill was fo ...

  5. HDU——1242Rescue(BFS+优先队列求点图最短路)

    Rescue Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  6. Bzoj2007 [Noi2010]海拔(平面图最短路)

    2007: [Noi2010]海拔 Time Limit: 20 Sec  Memory Limit: 552 MBSubmit: 2742  Solved: 1318[Submit][Status] ...

  7. 征途(bzoj 4518)

    Description Pine开始了从S地到T地的征途. 从S地到T地的路可以划分成n段,相邻两段路的分界点设有休息站. Pine计划用m天到达T地.除第m天外,每一天晚上Pine都必须在休息站过夜 ...

  8. 在dedecms系统下, 改写火车头的入库接口 写一个接口文件运行一次自动读取 http://news.163.com/rank/

    1:火车头入库接口里面的密码与login.php传过来的密码是保持一致的: 2:在(!$ispost)里面编写一个form表单提交,验证用户名,channelid,以及typeid; html代码格式 ...

  9. asp.net MVC最简单的增删查改!(详)

    折腾了两天搞出来,但原理性的东西还不是很懂,废话不多说上图上代码 然后右键models,新建一个数据模型 注意我添加命名为lianxi 添加后如上 接下来在controllers添加控制器还有在Vie ...

  10. 使用EventNext实现基于事件驱动的业务处理

    事件驱动模型相信对大家来说并不陌生,因为这是一套非常高效的逻辑处理模型,通过事件来驱动接下来需要完成的工作,而不像传统同步模型等待任务完成后再继续!虽然事件驱动有着这样的好处,但在传统设计上基于消息回 ...