1. 直接上代码

用法一(常量):

  1. package com.ou.test;
  2.  
  3. import com.sun.corba.se.impl.util.SUNVMCID;
  4.  
  5. public class Enum {
  6. public static void main(String[] args) {
  7. Weekday day = Weekday.FIVE;
  8. System.out.println(day);//直接输出FIVE
  9. }
  10. }
  11.  
  12. enum Weekday{
  13. ONE,TWO,THREE,FOUR,FIVE,SIX,SEVEN;
  14. }

结果:

看起来和上面的静态变量使用方式差不多,而且默认的toString方法返回的就是对应的名字。

用法二(switch):

  1. package com.ou.test;
    public class Enum {
    public static void main(String[] args) {
    Color color = Color.GREEN;
    switch (color){
    case RED:
    color = Color.GREEN;
    break;
    case YELLOW:
    color = Color.RED;
    break;
    case GREEN:
    color = Color.YELLOW;
    break;
    }
    System.out.println(color);
    }
  2.  
  3. }
    enum Color{
    GREEN, YELLOW, RED
    }

结果:

 

用法三:向枚举中添加新方法

  1. package com.ou.test;
    public class Enum {
    public static void main(String[] args) {
    System.out.println(Color.getName(3));
    System.out.println(Color.getIndex("绿色"));
    }
  2.  
  3. }
    enum Color{
    RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
    //成员变量
    private String name;
    private int index;
    //构造方法
    Color(String name, int index) {
    this.name=name;
    this.index=index;
    }
    //普通的方法 (根据索引号来找值)
    public static String getName(int index){
    for (Color c:Color.values()){
    if (c.getIndex() == index){
    return c.name;
    }
    }
    return null;
    }
    //普通的方法 (根据值来找索引号)
    public static int getIndex(String name){
    for (Color c:Color.values()) {
    if (c.getName()==name){
    return c.index;
    }
    }
    return -1;
    }
    //get set
    public String getName() {
    return name;
    }
  4.  
  5. public void setName(String name) {
    this.name = name;
    }
  6.  
  7. public int getIndex() {
    return index;
    }
  8.  
  9. public void setIndex(int index) {
    this.index = index;
    }
    }

结果:

 

java 枚举类(简单使用)的更多相关文章

  1. Java枚举类在生产环境中的使用方式

    前言   Java枚举在项目中使用非常普遍,许多人在做项目时,一定会遇到要维护某些业务场景状态的时候,往往会定义一个常量类,然后添加业务场景相关的状态常量.但实际上,生产环境的项目中业务状态的定义大部 ...

  2. java 枚举类小结 Enum

    好久没有接触枚举类了,差不多都忘了,今天抽出个时间总结一下吧.说实话,枚举类确实能够给我们带来很大的方便. 说明:枚举类它约定了一个范围,可以理解成只可以生成固定的几个对象让外界去调用,故枚举类中的构 ...

  3. 【JAVA】浅谈java枚举类

    一.什么情况下使用枚举类? 有的时候一个类的对象是有限且固定的,这种情况下我们使用枚举类就比较方便? 二.为什么不用静态常量来替代枚举类呢? public static final int SEASO ...

  4. Java枚举类使用

    用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. p ...

  5. Java 枚举类详解

    1. 枚举类定义 在某些情况下,一个类的对象是有限而且固定的,比如季节类,它只有4个对象,这种实例有限而且固定的类,在Java里被称为枚举类. 2. 早期实现枚举的方式 public static f ...

  6. Java基础15:深入剖析Java枚举类

    更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...

  7. java枚举类Enum方法简介(valueof,value,ordinal)

    Enum作为Sun全新引进的一个关键字,看起来很象是特殊的class,   它也可以有自己的变量,可以定义自己的方法,可以实现一个或者多个接口.   当我们在声明一个enum类型时,我们应该注意到en ...

  8. 浅谈java枚举类

    一.什么情况下使用枚举类? 有的时候一个类的对象是有限且固定的,这种情况下我们使用枚举类就比较方便? 二.为什么不用静态常量来替代枚举类呢? public static final int SEASO ...

  9. 夯实Java基础系列14:深入理解Java枚举类

    目录 初探枚举类 枚举类-语法 枚举类的具体使用 使用枚举类的注意事项 枚举类的实现原理 枚举类实战 实战一无参 实战二有一参 实战三有两参 枚举类总结 枚举 API 总结 参考文章 微信公众号 Ja ...

随机推荐

  1. Javascript学习笔记四——操作表单

    Javascript学习笔记 大多网页比如腾讯,百度云之类的需要登陆,用户输入账号密码就可以登陆,那么浏览器是如何获取用户的输入的呢?今天就记录一下操作表单. 操作表单与操作DOM是差不多的,表单本身 ...

  2. 分库分表之后,id 主键如何处理

    基于数据库的实现方案 数据库自增 id 这个就是说你的系统里每次得到一个 id,都是往一个库的一个表里插入一条没什么业务含义的数据,然后获取一个数据库自增的一个 id.拿到这个 id 之后再往对应的分 ...

  3. Redis(1.3)Redis的基本特性(事务、多数据库)

    [1]两大特性 (1)多数据库 1个redis实例 可以有16个数据库,默认下标为0~15,默认连接到的是 0 下标的数据库. (2)事务 [2]多数据库 [2.1]概念 1个redis实例 可以有1 ...

  4. 小a的强迫症 题解

    题面: 小a是一名强迫症患者,现在他要给一群带颜色的珠子排成一列,现在有N种颜色,其中第i种颜色的柱子有num(i)个.要求排列中第i种颜色珠子的最后一个珠子,一定要排在第i+1种颜色的最后一个珠子之 ...

  5. django进阶版4

    目录 1 Auth模块是什么 2 auth模块常用方法 authenticate() login(HttpRequest, user) logout(request) is_authenticated ...

  6. 句子反转——牛客刷题(java)

    题目描述: 给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格. 比如: (1) “hello xiao mi”-> “mi xia ...

  7. 怎样理解HTMLCollection接口

    和 NodeList 类似, HTMLCollection 也是一个 类数组对象, 和NodeList不同的是, 它是各种 元素节点 的集合, 且不具有 forEach() 方法, 因此如果不转为真正 ...

  8. 怎样解决在执行 vue init 时提示 "vue : 无法加载文件" 的问题?

    注意, 以下操作需要 以管理员身份 在 PowerShell 中进行, 不能是 CMD / Git Bash 等. 1. 以 管理员身份 运行 PowerShell 2. 执行 get-Executi ...

  9. Digester库

    在之前所学习关于启动简单的Tomcat部分实现的代码中,我们使用一个启动类Bootstrap类 来实例化连接器.servlet容器.wrapper实例.和其他组件,然后调用各个对象的set方法将他们关 ...

  10. Laravel 表单验证创建“表单请求”实现自定义请求类

    按照文档创建表单请求自定义类以后,调用总是403页面,咨询大佬说: public function authorize() { // 在表单验证类的这个方法这里要返回true,默认返回false,这个 ...