专栏首页Java建设者Enum to String 一般用法

Enum to String 一般用法

Enum to String 一般用法一、Enum Review二、使用name()方法转换为String三、使用toString()方法转换为String四、使用成员属性转换为String

一、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定义属性的时候,必须要用构造器对属性赋值

本文分享自微信公众号 - Java建设者(javajianshe),作者:cxuan

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-04-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 这些极简的注解你都清楚吗

    lombok 是一个非常神奇的 java 类库,会利用注解自动生成 java Bean 中烦人的 Getter、Setter,还能自动生成 logger、ToS...

    cxuan
  • 两种方式实现Spring 业务验证

    验证在任何时候都非常关键。考虑将数据验证作为业务逻辑开发有利也有弊,Spring 认为,验证不应该只在Web 端进行处理,在服务端也要进行相应的处理,可以防止脏...

    cxuan
  • Spring Cloud Feign 声明式服务调用

    一、Feign是什么?二、Feign的快速搭建三、Feign的几种姿态 参数绑定 继承特性四、其他配置 Ribbon 配置 Hystri...

    cxuan
  • 【java开发系列】—— 嵌套类与内部类

    嵌套类与内部类在java中使用的很广泛,为了避免难以理解,这里用了几个小例子,说明它的用法。   嵌套类与内部类的结构如下图 ?   静态嵌套类     ...

    用户1154259
  • Spring3 MVC请求参数获取的几种方法

    例如,访问user/123/lei路径时,执行以上方法,其中,参数id=123,name=lei

    一觉睡到小时候
  • Java描述设计模式(02):简单工厂模式

    1)、OCP原则:软件实体,如类、模块和函数,应当对扩展开放,但对修改关闭。 2)、违反设计模式的OCP原则,新增食品类不方便扩展,代码改动较大。

    知了一笑
  • MySQL中无GROUP BY情况下直接使用HAVING语句的问题探究

    这篇文章主要介绍了MySQL中无GROUP BY情况下直接使用HAVING语句的问题探究,同时探究了该情况下MAX与MIN功能的使用情况,需要的朋友可以参考下:

    哲洛不闹
  • 内网的服务如何在外网可访问

    比如,自己电脑上有个服务,想给外网的其他人临时看下,怎么办,难道还要去外网服务器上再部署一份?

    wangyuntao
  • 设计模式-策略模式

    Strategy Pattern: Define a family of algorithms, encapsulateeach one, and make t...

    子乾建建-Jeff
  • springMVC系列(八)——springMVC参数接收详解

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    逝兮诚

扫码关注云+社区

领取腾讯云代金券