返回顶部
首页 > 资讯 > 后端开发 > Python >浅谈一下Java中枚举的用法
  • 301
分享到

浅谈一下Java中枚举的用法

Java枚举Java枚举的用法 2023-05-14 17:05:05 301人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录枚举(enum)定义一个季节的枚举类枚举类values()方法ordinal()方法 valueOf()方法枚举类成员枚举(enum) 枚举是一个被命名的整型常数的集合

枚举(enum)

枚举是一个被命名的整型常数的集合,用于声明一组带标识符的常数。枚举在曰常生活中很常见,例如一个人的性别只能是“男”或者“女”,一周的星期只能是 7 天中的一个等。类似这种当一个变量有几种固定可能的取值时,就可以将它定义为枚举类型。

Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割,结尾使用分号;结束

定义一个季节的枚举类

enum Season{
    spring,summer,autumn,winter;
//   常量有 spring, summer, autumn,winter,分别表示春天,夏天,秋天,冬天,系统会自动添加 public static final 修饰
} 
enum Season{
    spring,summer,autumn,winter;
//   常量有 spring, summer, autumn,winter,分别表示春天,夏天,秋天,冬天,系统会自动添加 public static final 修饰
}
 
 
public class SeasonEnum {
 
    public static void main(String[] args) {
 
 
        System.out.println("请输入季节"+"\n"+"1、春天"+"\n"+"2、夏天"+"\n"+"3、秋天"+"\n"+"4、冬天");
        Scanner scan =new Scanner(System.in);
        int seasons= scan.nextInt();
        change(seasons);
    }
 
    private static void change(int seasons) {
        Season season=Season.spring;
        switch (seasons){
            case 1:
                season=Season.spring;
 
                break;
            case 2:
                season=Season.summer;
                break;
            case 3:
                season=Season.autumn;
                break;
            case 4:
                season=Season.winter;
                break;
        }
        System.out.println(season);
    }
}

枚举类

enum 定义的枚举类默认继承了 java.lang.Enum 类,并实现了 java.lang.Serializable 和 java.lang.Comparable 两个接口。

values(), ordinal() 和 valueOf() 方法位于 java.lang.Enum 类中:

  • values() 返回枚举类中所有的值。
  • ordinal()方法可以找到每个枚举常量的索引,就像数组索引一样。
  • valueOf()方法返回指定字符串值的枚举常量。

values()方法

 values( ) 方法可以将枚举的所有成员以数组形式返回,也可以通过该方法获取枚举类型的成员。

enum Season{
    spring,summer,autumn,winter;
//   常量有 spring, summer, autumn,winter,分别表示春天,夏天,秋天,冬天,系统会自动添加 public static final 修饰
}
 
}
 
 
public class SeasonEnum {
   public static void main(String[] args) {
//        迭代季节
        for (Season season : Season.values()) {
            System.out.println(season);
        }
   }
}

结果:

ordinal()方法

 ordinal() 方法可以获取一个成员在枚举中的索引位置。下面的示例创建一个包含 3 个成员的枚举类型 Signal,然后调用 ordinal() 方法输出成员及对应索引位置。

enum Season{
    spring,summer,autumn,winter;
//   常量有 spring, summer, autumn,winter,分别表示春天,夏天,秋天,冬天,系统会自动添加 public static final 修饰
}
 
}
 
 
public class SeasonEnum {
   public static void main(String[] args) {
//        迭代季节
        for (Season season : Season.values()) {
//            ordinal可以找到每个枚举常量的索引,就像数组索引一样。
            System.out.println(season+"  索引为  "+season.ordinal());
        }
   }
}

结果:

 valueOf()方法

valueOf()方法返回指定字符串值的枚举常量

enum Season{
    spring,summer,autumn,winter;
//   常量有 spring, summer, autumn,winter,分别表示春天,夏天,秋天,冬天,系统会自动添加 public static final 修饰
}
 
}
 
 
public class SeasonEnum {
   public static void main(String[] args) {
 
//        使用 valueOf() 返回枚举常量,不存在的会报错 IllegalArgumentException
         System.out.println(Season.valueOf("summer"));
   //    System.out.println(Season.valueOf("summ"));
   }
}

结果

枚举类成员

枚举跟普通类一样可以用自己的变量、方法和构造函数,构造函数只能使用 private 访问修饰符,所以外部无法调用。

枚举既可以包含具体方法,也可以包含抽象方法。 如果枚举类具有抽象方法,则枚举类的每个实例都必须实现它。

enum Season{
    spring,summer,autumn,winter;
//   常量有 spring, summer, autumn,winter,分别表示春天,夏天,秋天,冬天,系统会自动添加 public static final 修饰
     
    //    构造方法
    private Season(){
        System.out.println("Constructor called for :" +this.toString());
    }
 
    public void SeasonInfo(){
        System.out.println("spring");
    }
 
}
 
}
 
 
public class SeasonEnum {
   public static void main(String[] args) {
 
         Season season=Season.spring;
         season.SeasonInfo();
   }
}

到此这篇关于浅谈一下Java中枚举的用法的文章就介绍到这了,更多相关Java枚举用法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 浅谈一下Java中枚举的用法

本文链接: https://lsjlt.com/news/203315.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 浅谈一下Java中枚举的用法
    目录枚举(enum)定义一个季节的枚举类枚举类values()方法ordinal()方法 valueOf()方法枚举类成员枚举(enum) 枚举是一个被命名的整型常数的集合...
    99+
    2023-05-14
    Java枚举 Java枚举的用法
  • 浅谈java枚举类(附代码)
    java枚举类介绍:(java学习视频推荐:java视频教程)一、什么情况下使用枚举类?有的时候一个类的对象是有限且固定的,这种情况下我们使用枚举类就比较方便。二、为什么不用静态常量来替代枚举类呢?public static final i...
    99+
    2020-08-22
    java
  • JAVA中的枚举(一)
    在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。在Ja...
    99+
    2024-04-02
  • 再谈在Java中使用枚举(转)
    再谈在Java中使用枚举(转)[@more@]从C++转到Java上的程序员一开始总是对Java有不少抱怨,其中没有枚举就是一个比较突出的问题。那么为什么Java不支持枚举呢?从程序语言的角度讲,支持枚举意味着什么呢?我们能不能找到一种方法...
    99+
    2023-06-03
  • Java浅析枚举类的使用
    目录1、枚举规则2、枚举的个数3、枚举类中常用函数4、实现枚举类5、枚举类的使用注意事项概念:有enum关键字修饰的类,成为枚举类 1、枚举规则 枚举类的对象可以有类里面定义,不支持...
    99+
    2024-04-02
  • 浅谈一下Python中的with用法
    目录一、With语句是什么二、with如何工作三、相关术语一、With语句是什么 有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python的with语句提供了一种非常...
    99+
    2023-05-15
    Python with Python with用法
  • 浅谈一下Java中的堆和栈
    Java数据类型在执行过程中存储在两种不同形式的内存中:栈和堆,它们通常由运行Java虚拟机(JVM)的底层平台维护。本文从Java软件开发的角度提供了对这两种内存类型的一些见解。 ...
    99+
    2023-05-18
    Java Java
  • 深入浅出讲解Java中的枚举类
    目录一、枚举类的使用 二、如何定义枚举类 背景:类的对象只有有限个,确定的。举例如下: > 星期: Monday (星期一)、….、 Sunday (星期天) > 性别:...
    99+
    2024-04-02
  • 一文了解Java中枚举的使用
    目录概述枚举介绍和使用枚举的本质枚举常见用途枚举创建单例枚举抽象方法概述 Java中枚举,大家在项目中经常使用吧,主要用来定义一些固定值,在一个有限的集合内,比如在表示一周的某一天,...
    99+
    2024-04-02
  • java中enum(枚举)的用法详解
    Java Enum原理: public enum Size{ SMALL, MEDIUM, LARGE, EXTRA_LARGE };实际上,这个声明定义的类型是一个类,它刚好有四个实例,在此尽量不要构造新对象。因此,在比较两个枚举类型的值...
    99+
    2020-07-20
    java基础 java enum 用法
  • java中枚举的用法有哪些
    在Java中,枚举(enum)是一种特殊的数据类型,用于定义一组常量。枚举常常用于表示一组相关的常量,例如星期几、月份等。以下是枚举...
    99+
    2023-08-30
    java
  • java 枚举使用方法
    前言在项目中有很多常量,我们都是使用枚举(enum)来处理,下面我就和大家分享一个比较通用的代码枚举 public static String getTextByValue(Integer value) { retu...
    99+
    2019-10-31
    java教程 java
  • java 枚举类中的valueOf用法说明
    目录枚举类中的valueOf用法先创建一个BasicEnum的接口创建一个枚举类实现BasicEnum接口枚举类valueOf方法的疑问枚举类中的valueOf用法 前言:今天遇到了...
    99+
    2024-04-02
  • 浅谈一下Spring中的createBean
    目录找到BeanClass并且加载类实例化前实例化Supplier创建对象工厂方法创建对象推断构造方法BeanDefionition 的后置处理实例化后属性填充Aware回调初始化前...
    99+
    2024-04-02
  • 浅谈一下Java的线程并发
    谈到并发,必会涉及操作系统中的线程概念,线程是CPU分配的最小单位,windows系统是抢占式的,linux是轮询式的,都需要获取CPU资源。并行:同一时刻,两个线程都在执行。并发:...
    99+
    2024-04-02
  • 一文带你读懂Java中的枚举
    这期内容当中小编将会给大家带来有关一文带你读懂Java中的枚举,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。enum 的全称为 enumeration, 是 JDK 5  中引入的新特性,存放在...
    99+
    2023-05-31
    java 枚举 ava
  • 浅谈一下Java线程组ThreadGroup
    目录1 简介2 线程组树的结构3 线程组的构造4 API5 终止线程组中的所有线程1 简介 一个线程集合。是为了更方便地管理线程。父子结构的,一个线程组可以集成其他线程组,同时也可以...
    99+
    2023-05-19
    Java 线程组 Java ThreadGroup
  • 怎么用好Java中的枚举
    本篇内容主要讲解“怎么用好Java中的枚举”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用好Java中的枚举”吧!1、概览enum关键字在 java5 中引入,表示一种特殊类型的类,其总是继...
    99+
    2023-06-16
  • Java中的枚举怎么使用
    本篇内容主要讲解“Java中的枚举怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java中的枚举怎么使用”吧!枚举(enum)枚举是一个被命名的整型常数的集合,用于声明一组带标识符的常数...
    99+
    2023-07-05
  • Java中枚举类的用法示例详解
    目录1.引入枚举类2.实现枚举类3.枚举类的使用注意事项4.枚举的常用方法5.enum细节1.引入枚举类 Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作