Java中使用枚举的方法

Java -枚举的使用 枚举常量更简单安全。枚举具有内置方法 ,代码更优雅缺点:3. 不可继承,无法扩展,【从构造的方法的私有性就能看出来】1、枚举 将常量组织起来统一进行管理,更简单安全。2、枚举本身就是一个类,其构造方法默认为私有的,且都是默认继承于 java.lang.Enum3、 枚举可以避免反射和序列化问题:枚举类非常安全!4、不可继承,无法扩展。5、枚举具有内置方法 ,代码更优雅。 阅读详情

枚举是用于将变量分配给一组预定义常量的特殊数据类型。枚举主要用于将特定范围的值分配给所述变量时。

例如,当声明彩虹的颜色时,我们通常被限制在代表各种颜色的7个常量,我们可以用枚举来定义这些颜色,并有一种方法来表示这些常量。枚举是单个这意味着对于类加载器当处理需要固定单选选项或for Switch语句的代码时,此功能使枚举成为一个不错的选择。

我们不会像常规类那样用新关键字初始化枚举,但这并不能阻止它的强大功能:添加实例变量和方法的能力、接口的实现、拥有构造函数和使用抽象类的能力。枚举不能扩展其他类,它与类的主要区别在于它是静态的,它的声明是最终的。下面是一个基本枚举声明的示例:

class Enum{  
//Defining the enum inside the class  
public enum RainbowColours { RED, YELLOW, GREEN, BLUE, INDIGO, VIOLETS}  
//Main method  
public static void main(String[] args) {  
//Reading the enum  
for (RainbowColours c : RainbowColours.values())  
System.out.println(c);  
}}

使用枚举

java开发人员可以用几种方法轻松地应用Enums:

定义类内外的枚举

枚举可以在java中的类内部和外部运行。通过使用enum关键字定义枚举类型:
类内部的枚举:

class EnumA{  
enum Season { WINTER, SPRING, SUMMER, FALL; } //semicolon(;) is optional here  
public static void main(String[] args) {  
Season s=Season.WINTER;//enum type is required to access WINTER  
System.out.println(s);  
}}
This returns an output of "WINTER" 

类外部的枚举:

enum Directions{ NORTH, SOUTH, EAST, WEST}  
class EnumB{  
public static void main(String[] args) {  
Directions d=Directions.WEST;  
System.out.println(d);  
}}
  This returns an output "WEST"

在枚举中运行main方法

enum Season {   
WINTER, SPRING, SUMMER, FALL;  
public static void main(String[] args) {  
Season ss=Season.SPRING;  
System.out.println(ss);  
}  
}
 This returns an output "SPRING"

对枚举使用switch语句

class EnumC{  
enum Day{ SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY}  
public static void main(String args[]){  
Day day=Day.TUESDAY;  //Sets enum day to TUESDAY

switch(day){  
case SUNDAY:   
 System.out.println("Today is sunday");  
 break;  
case MONDAY:   
 System.out.println("Today is monday");  
 break;
case TUESDAY:   
 System.out.println("Today is tuesday");  
 break;  
default:  
System.out.println("other day");  
}  
}}
This returns an output "Today is tuesday"

指定枚举常量的属性

 public enum Enum //enum classes cant be initialized with key word "new" but can only be referenced since they are classloaded
  {
      GENDER("male","female"), CAT("lion","lioness"), BIRD("cock","hen");

      private final String Masculine; //must be set to private final because each variable has already been pre-set above in the enum declaration
      private final String Feminine;


       Enum(String masculine, String feminine){ //no public keyword because the contructor isn't public and sets the value properties of the enum constants.
           // This constructor sets the Properties of each enum constant
          this.Masculine=masculine;
          this.Feminine=feminine;

      }
      public String getMasculinity(){
          return Masculine;
      }
      public String getFemininity(){
          return Feminine;
      } //decide to use camel casing for a clearer description
  }

  //Running the enum above
  public class EnumTest {
      public static void main(String[] args){

          System.out.println("ennum values");
          for (EnumClass class : EnumClass.values()){ //Traversing enum 
              System.out.println("For class "+ class+ " the masculine form is "+ class.getMasculinity() + " and the feminine name is "+class.getFemininity());

          }



      }
  }
  This returns Multiple outputs starting with the first loop case "For class GENDER the masculine form is male and the feminine form is female"

枚举类型的构造函数必须是包私有或私有访问。它自动创建在枚举体开头定义的常量。您不能自己调用枚举构造函数(因为枚举被设置为final)。

显示一组枚举常量

Enumset是用于枚举类型的集合的特殊实现之一。它是一个特殊的集合,用于使用诸如“range”、“of”、“copyOf”、“clone”等方法的枚举类。下面是一个enum实现的示例,它显示GENDER-BIRD中的枚举范围。

import java.util.EnumSet;
  public enum Enum 
    {GENDER, CAT, BIRD;}
  public class EnumTest {
        public static void main(String[] args){

             System.out.println(EnumSet.range(EnumClass.GENDER,EnumClass.BIRD));

            }
     }

Java编程语言枚举类型比其他语言中的枚举类型功能强大得多,Java开发人员可以使用它以简化的方式执行任务。

Java基础之Java枚举 絮叨 昨天刚好有遇到一个枚举的小问题,然后发现自己并不是那么熟悉它,然后在开发中,枚举用的特别多,所以有了今天的文章。 什么是枚举 Java中的枚举是一种类型,顾名思义:就是一个一个列举出来。所以它一般都是表示一个有限的集合类型,它是一种类型,在维基百科中给出的定义是: 在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠.。枚举是一个被命名的整型常数的集合,枚举在日常生活中很常见,例如表示星期的SUNDAY、MO 阅读详情

相关推荐

MinerU安装指南:从源码到验证的完整流程

本文详细介绍了MinerU文档转换工具的安装流程,从源码获取、依赖安装到验证步骤,提供了完整的安装指南和常见问题解决方案。特别适合技术写作者和开发者快速部署这款高效的文档转换工具,提升工作效率。

weixin_29243279的博客 547

Java 枚举(enum) 的常见用法和开发规范

JDK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static final.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 publicenumColor{ RED,GREEN...

dichengyan0013的博客 3950

强化学习入门8—深入理解DDPG

本文是强化学习入门系列的第八篇,前面我们讲Actor-Critic时提到了DDPG。DDPG是google DeepMind团队提出的一种用于输出确定性动作的算法,它解决了Actor-Critic 神经网络每次参数更新前后都存在相关性,导致神经网络只能片面的看待问题这一缺点。同时也解决了DQN不能用于连续性动作的缺点。

小菜羊的博客 4315

Java-枚举类的使用(详解)

枚举类的使用一、自定义枚举类(JDK1.5之前)1. 概述2. 实现2.1 属性2.2 构造器3. 演示二、用关键字enum定义枚举类(JDK 1.5)1. 实现1.1 属性1.2 构造器2. 演示三、Enum类的方法四、实现接口的枚举类 (1)类的对象只有有限个,确定的。举例如下: 星期:Monday(星期一)、…、Sunday(星期天) 性别:Man(男)、Woman(女) 季节:Spring(春节)…Winter(冬天) 支付方式:Cash(现金)、WeChatPay(微信)、Alipay(支付宝

weixin_52533007的博客 6253

汇川EASY521 PLC实战指南:从硬件选型到程序架构与故障排查

可编程逻辑控制器(PLC)是工业自动化系统的核心大脑,其工作原理基于循环扫描机制,持续读取输入、执行用户程序并更新输出。这种确定性控制方式,使其在逻辑控制、顺序控制和运动控制中具有不可替代的技术价值,广泛应用于机械设备、生产线和过程控制等场景。对于汇川EASY521这类紧凑型高性能PLC,其核心优势在于集成了运动控制与丰富通讯接口,为中小型设备提供了高性价比的一站式解决方案。在实际应用中,工程师常需处理如“汇川sv660n”伺服驱动器的集成调试,或利用“hslcommunication”等开源库实现C#上位

weixin_42525264的博客 739

从时序参数到电压供给:TTL(RGB)液晶屏驱动调试全解析

本文全面解析TTL(RGB)液晶屏驱动调试的关键技术,从时序参数配置到电压供给系统搭建,详细介绍了同步信号参数、寄存器配置技巧以及升压电路设计。通过实战案例和常见故障分析,帮助工程师快速掌握液晶显示屏调试方法,提升开发效率。

weixin_30588675的博客 248

java枚举(enum)使用详解

java枚举(enum)使用详解

u011250186的博客 9252

CVPR 2027 投稿规划:基于近3年录用率与截稿周期的5步时间管理法

本文为计算机视觉研究者提供CVPR 2027投稿的完整规划指南,基于近三年录用率与截稿周期数据,提出五步时间管理法。涵盖选题策略、实验设计、论文写作、同行评审到最终提交的全流程优化,特别针对CVPR日益激烈的竞争环境(2024年投稿量达11532篇,录取率仅23.6%)提供实用解决方案,帮助研究者提升投稿成功率。

weixin_34079177的博客 1164

java 枚举 示例_Java枚举name()方法及示例

java 枚举 示例 枚举类name()方法 (Enum Class name() method) name() method is available in java.lang package. name()方法在java.lang包中可用。 name() method is used to return the name of this enum constants as it is decl...

cumudi0723的博客 9652

isaaclab无法识别NVIDIA显卡,如何解决?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!    📌 特别说明: 文中部分技术问题来源于真实生产环境及网络公开案例,均经过精挑细选与系统化整理,并结合多位一线资深架构师和工程师多年实战经验沉淀,提

**My Coding Family** 1147

python全栈入门到实战【基础篇 02】环境搭建:Python解释器与PyCharm、VSCode编辑器安装配置详解

本文详解Python环境搭建步骤。首先安装解释器(运行代码核心),需从官网下载,选3.8及以上版本(勿选2.x)。Windows安装必勾“Add Python.exe to PATH”,验证用`python --version`;Mac选universal2安装包,验证用`python3 --version`。 编辑器二选一:PyCharm社区版(免费,新手推荐),安装后需配置解释器路径;VSCode轻量,需装Python插件并选择解释器。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 5万+

Java 枚举的常见使用方法

枚举常见的使用方法.

weixin_42911069的博客 1041

RK3588开发笔记-ISP模块参数调试

本文详细介绍了基于RK3588平台的ISP模块参数调试流程。主要内容包括:硬件准备(RK3588板卡、IMX415摄像头等)、软件环境搭建(Ubuntu系统、RKISP_Tuner工具)、IMX415摄像头基础使用验证、RKISP2.x Tuner工具的使用方法(新建/加载IQ参数文件、Sensor配置、Raw图采集)以及最终IQ文件的部署。文章重点强调了基础标定的重要性,建议开发者分场景调试并参考官方文档,通过合理配置ISP参数来优化图像质量。该调试流程适用于RK3588平台的图像采集类项目开发。

flypig has a dream! 839

Java中的枚举与values()方法

Java枚举中的values()方法 在编写Java程序时经常会用到枚举类型,今天我们就来看一下枚举中常用到的values()方法。 首先,我们在Eclipse中编写一个简单的类: public class EnumTest { private enum Directions { NORTH, SOUTH, EAST, WEST } } 在这里,我们定义

RickyXE 4万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

在java枚举中执行方法

在Java枚举中执行方法 介绍 作为一名经验丰富的开发者,我将教你如何在Java枚举中执行方法。这是一个常见的需求,特别是在需要对枚举进行操作或者获取特定信息时。 流程概述 首先,让我们来看一下整个流程的步骤,然后逐步详细说明每一步需要做什么。 erDiagram ENUMERATION --> GET_ME...

weixin_40582243的博客 186

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

java枚举有默认方法,java枚举自带的方法有哪些

1、valueOf()方法这是一个静态方法,传入一个字符串(枚举的名称),获取枚举类。如果传入的名称不存在,则报错。publicstaticvoidmain(String[]args)throwsException{System.out.println(PayTypeEnum.valueOf("ALI_PAY"));System.out.println(PayTypeEnum.valu...

weixin_31481495的博客 1162

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

java 枚举抽象方法_java枚举中添加抽象方法

在对抽象方法的使用时,因为只是对方法的一种定义,应用到具体的实例处理上,细节方法会不太理想。这里我们可以结合枚举的优势,以抽象方法作为外在条件,枚举作为内部方法的细化对程序进行操作。下面我们就抽象方法概念、格式简单介绍,然后结合枚举的方法为带来带来实例讲解。1.抽象方法概念使用abstract修饰的方法,没有方法体,只有声明。定义的是一种“规范”,就是告诉子类必须要给抽象方法提供具体的实现。2.抽...

weixin_33907300的博客 2015

Java中枚举的使用方法

public class TestEnum { /*最普通的枚举*/ public enum ColorSelect { red, green, yellow, blue; } /* 枚举也可以象一般的类一样添加方法和属性,你可以为它添加静态和非静态的属性或方法,这一切都象你在一般的类中做的那样. */ public enum Se

tony_chen的专栏 1万+

java 枚举 方法_Java枚举使用方法详解

在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。在java中如何更好的使用这些“数据集”呢?因此枚举便派上了用场,以下代码详细介绍了枚举的用法。package com.ljq.test;/*** 枚举用法详解** @author jiqinlin*...

weixin_39652658的博客 182

java 枚举 values_JAVA 枚举运用一 values方法

importjava.lang.reflect.Method;importjava.lang.reflect.Type;importjava.util.Set;import java.util.*;public classEnumJavaClass {public enumEnumClass{One("参数变量枚举一"),Two("参数变量枚举二"),Three("参数变量枚举三");priva...

weixin_28984915的博客 419

【Java基础】枚举类的方法及应用

enum中构造方法默认被private修饰SPRING("春季"),SUMMER("夏季"),AUTUMN("秋季"),WINTER("冬季");Season(){} //默认就是privateSeason(String desc){//默认就是private……………………

qq_43714449的博客 1535

78. Java 枚举类 - 在枚举中添加成员(字段、构造方法、方法)

在 Java 中,枚举类不仅仅是一组常量的集合,它实际上是一种特殊的类,可以包含字段、构造方法和实例方法。通过为枚举添加字段,可以为每个枚举常量存储额外的信息,例如缩写或数值。构造方法用于初始化这些字段,且必须是私有的,因为枚举实例不能手动创建。枚举还可以包含实例方法,用于获取或操作这些字段。此外,枚举可以拥有多个字段,甚至可以通过抽象方法为每个枚举常量定义不同的行为。这种特性使得枚举在处理需要额外信息或不同行为的常量时非常有用,但应避免在值范围动态或仅需简单常量的情况下使用。

yaoxin521123的博客 864

Java Enum枚举 Enum类 带有构造方法的枚举 带有抽象方法的枚举

Java 枚举(enum) 是一个特殊的类,一般表示一组常量、enum 定义的枚举类默认继承了 java.lang.Enum 类 1. 基本应用 Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割 public enum Weekday { // 枚举 Weekday 是一个特殊的类 // 每个枚举常量(如:SUN)都是一个Weekday的实例对象,并且都默认具备 public static final 修饰符 SUN, MON, TUE, WED, THU,

drizzletowne的博客 1626

81. Java 枚举类 - 枚举中的抽象方法

在Java枚举中使用抽象方法可以为不同的枚举常量提供不同的行为实现,从而提升代码的可读性和扩展性。与传统的switch语句相比,枚举中的抽象方法更加优雅,避免了代码冗余和扩展性问题。此外,枚举的抽象方法也可以替代策略模式,减少类的数量,使代码更加集中和易维护。适合使用枚举抽象方法的场景包括不同的枚举值需要不同的行为,以及需要避免使用switch语句的情况。然而,如果所有枚举值的行为相同,或者需要继承其他类,则不适合使用枚举的抽象方法。

yaoxin521123的博客 922

java name_Java枚举name()方法及示例

枚举类name()方法name()方法在java.lang包中可用。name()方法用于返回此枚举常量的名称,该名称在其枚举原型或声明中进行了声明。name()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。name()方法是最终方法,它不会在子类中重写。返回枚举常量的名称时,name()方法不会引发异常。语法:publicfinalStringna...

weixin_39897015的博客 7503

java枚举类常用方法

package com.czh.log.enums; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * author czh^_^ */ public enum StatusEnum { UNPAID(1, "待支付"), ...

qq376745187的博客 208
上一篇: Flutter中的触摸事件
下一篇: 三年Android开发的我选择离职,这本面试题集给了我第二次机会
不秃头de程序猿
博客等级 码龄5年 4089粉丝 1478原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值